1 /*
2  |	localize.c
3  |
4  |	$Header: /home/hugh/sources/aee/RCS/localize.c,v 1.31 2010/07/18 21:54:48 hugh Exp hugh $
5  */
6 
7 /*
8  |	Copyright (c) 1994, 1995, 1996, 1998, 1999, 2001, 2002, 2010 Hugh Mahon.
9  */
10 
11 #include "aee.h"
12 
13 #ifndef NO_CATGETS
14 
15 #if defined(__STDC__) || defined(__cplusplus)
16 #define P_(s) s
17 #else
18 #define P_(s) ()
19 #endif
20 
21 char *catgetlocal P_((int number, char *string));
22 
23 #undef P_
24 
25 /*
26  |	Get the catalog entry, and if it got it from the catalog,
27  |	make a copy, since the buffer will be overwritten by the
28  |	next call to catgets().
29  */
30 
31 char *
catgetlocal(number,string)32 catgetlocal(number, string)
33 int number;
34 char *string;
35 {
36 	char *temp1;
37 	char *temp2;
38 
39 	temp1 = catgets(catalog, 1, number, string);
40 	if (temp1 != string)
41 	{
42 		temp2 = malloc(strlen(temp1) + 1);
43 		strcpy(temp2, temp1);
44 		temp1 = temp2;
45 	}
46 	return(temp1);
47 }
48 #endif /* NO_CATGETS */
49 
50 /*
51  |	The following is to allow for using message catalogs which allow
52  |	the software to be 'localized', that is, to use different languages
53  |	all with the same binary.  For more information, see your system
54  |	documentation, or the X/Open Internationalization Guide.
55  */
56 
57 void
strings_init()58 strings_init()
59 {
60 	int counter;
61 
62 #ifndef NO_CATGETS
63 	setlocale(LC_ALL, "");
64 	catalog = catopen("aee", 0);
65 #endif /* NO_CATGETS */
66 
67 	ae_help_file = catgetlocal( 1, "/usr/local/share/aee/help.ae");
68 	main_buffer_name = catgetlocal( 2, "main");
69 
70 
71 	/*
72 	 |	allocate space for strings here for settings menu
73 	 */
74 
75 	for (counter = 1; counter < (NUM_MODES_ITEMS - 1); counter++)
76 	{
77 		modes_menu[counter].item_string = malloc(80);
78 	}
79 
80 	modes_menu[0].item_string = catgetlocal( 3, "modes menu");
81 	mode_strings[1] = catgetlocal( 4, "tabs to spaces        ");
82 	mode_strings[2] = catgetlocal( 5, "case sensitive search ");
83 	mode_strings[3] = catgetlocal( 6, "literal search        ");
84 	mode_strings[4] = catgetlocal( 7, "search direction  ");
85 	mode_strings[5] = catgetlocal( 8, "observe margins       ");
86 	mode_strings[6] = catgetlocal( 9, "info window           ");
87 	mode_strings[7] = catgetlocal( 10, "status line           ");
88 	mode_strings[8] = catgetlocal( 11, "auto indent           ");
89 	mode_strings[9] = catgetlocal( 12, "overstrike            ");
90 	mode_strings[10] = catgetlocal( 13, "auto paragraph format ");
91 	mode_strings[11] = catgetlocal( 14, "multi windows         ");
92 	mode_strings[12] = catgetlocal( 15, "left margin           ");
93 	mode_strings[13] = catgetlocal( 16, "right margin          ");
94 	mode_strings[14] = catgetlocal( 376, "info window height    ");
95 	mode_strings[15] = catgetlocal( 393, "text/binary mode is   ");
96 	mode_strings[16] = catgetlocal( 394, "current file type is  ");
97 	mode_strings[17] = catgetlocal( 385, "save editor config    ");
98 	leave_menu[0].item_string  = catgetlocal( 17, "leave menu");
99 	leave_menu[1].item_string  = catgetlocal( 18, "save changes");
100 	leave_menu[2].item_string  = catgetlocal( 19, "no save");
101 	leave_menu_2[0].item_string = catgetlocal( 20, "multiple buffers exist");
102 	leave_menu_2[1].item_string = catgetlocal( 21, "stay in editor");
103 	leave_menu_2[2].item_string = catgetlocal( 22, "leave anyway");
104 	file_menu[0].item_string  = catgetlocal( 23, "file menu");
105 	file_menu[1].item_string  = catgetlocal( 24, "read a file");
106 	file_menu[2].item_string  = catgetlocal( 25, "write a file");
107 	file_menu[3].item_string  = catgetlocal( 26, "save file");
108 	file_menu[4].item_string  = catgetlocal( 27, "print editor contents");
109 	file_menu[5].item_string  = catgetlocal( 375, "recover from journal");
110 	search_menu[0].item_string = catgetlocal( 28, "search/replace menu");
111 	search_menu[1].item_string = catgetlocal( 29, "search for ...");
112 	search_menu[2].item_string = catgetlocal( 30, "search");
113 	search_menu[3].item_string = catgetlocal( 31, "replace prompt ...");
114 	search_menu[4].item_string = catgetlocal( 32, "replace");
115 	spell_menu[0].item_string = catgetlocal( 33, "spell menu");
116 	spell_menu[1].item_string = catgetlocal( 34, "use 'spell'");
117 	spell_menu[2].item_string = catgetlocal( 35, "use 'ispell'");
118 	misc_menu[0].item_string = catgetlocal( 36, "miscellaneous menu");
119 	misc_menu[1].item_string = catgetlocal( 37, "format paragraph");
120 	misc_menu[2].item_string = catgetlocal( 38, "shell command");
121 	misc_menu[3].item_string = catgetlocal( 39, "check spelling");
122 	edit_menu[0].item_string = catgetlocal( 40, "edit menu");
123 	edit_menu[1].item_string = catgetlocal( 41, "mark text");
124 	edit_menu[2].item_string = catgetlocal( 42, "copy marked text");
125 	edit_menu[3].item_string = catgetlocal( 43, "cut (delete) marked text");
126 	edit_menu[4].item_string = catgetlocal( 44, "paste");
127 	main_menu[0].item_string = main_menu_strings[0] = catgetlocal( 45, "main menu");
128 	main_menu[1].item_string = main_menu_strings[1] = catgetlocal( 46, "leave editor");
129 	main_menu[2].item_string = main_menu_strings[2] = catgetlocal( 47, "help");
130 	main_menu[3].item_string = main_menu_strings[3] = catgetlocal( 48, "edit");
131 	main_menu[4].item_string = main_menu_strings[4] = catgetlocal( 49, "file operations");
132 	main_menu[5].item_string = main_menu_strings[5] = catgetlocal( 50, "redraw screen");
133 	main_menu[6].item_string = main_menu_strings[6] = catgetlocal( 51, "settings");
134 	main_menu[7].item_string = main_menu_strings[7] = catgetlocal( 52, "search/replace");
135 	main_menu[8].item_string = main_menu_strings[8] = catgetlocal( 53, "miscellaneous");
136 
137 	/*
138 	 |	have main menu entries in same manner as ee's
139 	 */
140 
141 	ee_mode_main_menu_strings[0] = main_menu_strings[0]; /* title */
142 	ee_mode_main_menu_strings[1] = main_menu_strings[1]; /* leave */
143 	ee_mode_main_menu_strings[2] = main_menu_strings[2]; /* help */
144 	ee_mode_main_menu_strings[3] = main_menu_strings[4]; /* file */
145 	ee_mode_main_menu_strings[4] = main_menu_strings[5]; /* redraw screen */
146 	ee_mode_main_menu_strings[5] = main_menu_strings[6]; /* settings */
147 	ee_mode_main_menu_strings[6] = main_menu_strings[7]; /* search/replace */
148 	ee_mode_main_menu_strings[7] = main_menu_strings[8]; /* misc */
149 	ee_mode_main_menu_strings[8] = main_menu_strings[3]; /* edit */
150 
151 
152 	SL_line_str = catgetlocal( 54, "line=%d");
153 	SL_col_str = catgetlocal( 55, "col=%d");
154 	SL_lit_str = catgetlocal( 56, " lit  ");
155 	SL_nolit_str = catgetlocal( 57, " nolit");
156 	SL_fwd_str = catgetlocal( 58, " fwd ");
157 	SL_rev_str = catgetlocal( 59, " rev ");
158 	SL_over_str = catgetlocal( 60, "over  ");
159 	SL_insrt_str = catgetlocal( 61, "insrt ");
160 	SL_indent_str = catgetlocal( 62, "indent  ");
161 	SL_noindnt_str = catgetlocal( 63, "noindnt ");
162 	SL_marg_str = catgetlocal( 64, "  marg ");
163 	SL_nomarg_str = catgetlocal( 65, "nomarg ");
164 	SL_mark_str = catgetlocal( 66, "mark");
165 	ascii_code_str = catgetlocal( 67, "ascii code: ");
166 	left_err_msg = catgetlocal( 68, "attempted to move cursor before start of file");
167 	right_err_msg = catgetlocal( 69, "attempted to move past end of file");
168 	help_err_msg = catgetlocal( 70, "unable to open help file %s");
169 	prompt_for_more = catgetlocal( 71, "(press RETURN for more): ");
170 	topic_prompt = catgetlocal( 72, "topic? (TAB then RETURN to go to the main menu. RETURN to exit): ");
171 	topic_err_msg = catgetlocal( 73, "cannot find topic %s");
172 	continue_prompt = catgetlocal( 74, "press return to continue ");
173 	printing_msg = catgetlocal( 75, "sending contents of buffer %s to \"%s\" ");
174 	EXPAND_str = catgetlocal( 76, "EXPAND");
175 	NOEXPAND_str = catgetlocal( 77, "NOEXPAND");
176 	NOJUSTIFY_str = catgetlocal( 78, "NOJUSTIFY");
177 	JUSTIFY_str = catgetlocal( 79, "JUSTIFY");
178 	EXIT_str = catgetlocal( 80, "EXIT");
179 	QUIT_str = catgetlocal( 81, "QUIT");
180 	AUTOFORMAT_str = catgetlocal( 82, "AUTOFORMAT");
181 	NOAUTOFORMAT_str = catgetlocal( 83, "NOAUTOFORMAT");
182 	INFO_str = catgetlocal( 84, "INFO");
183 	NOINFO_str = catgetlocal( 85, "NOINFO");
184 	TABS_str = catgetlocal( 86, "TABS");
185 	UNTABS_str = catgetlocal( 87, "UNTABS");
186 	WRITE_str = catgetlocal( 88, "WRITE");
187 	READ_str = catgetlocal( 89, "READ");
188 	SAVE_str = catgetlocal( 90, "SAVE");
189 	LITERAL_str = catgetlocal( 91, "LITERAL");
190 	NOLITERAL_str = catgetlocal( 92, "NOLITERAL");
191 	STATUS_str = catgetlocal( 93, "STATUS");
192 	NOSTATUS_str = catgetlocal( 94, "NOSTATUS");
193 	MARGINS_str = catgetlocal( 95, "MARGINS");
194 	NOMARGINS_str = catgetlocal( 96, "NOMARGINS");
195 	INDENT_str = catgetlocal( 97, "INDENT");
196 	NOINDENT_str = catgetlocal( 98, "NOINDENT");
197 	OVERSTRIKE_str = catgetlocal( 99, "OVERSTRIKE");
198 	NOOVERSTRIKE_str = catgetlocal( 100, "NOOVERSTRIKE");
199 	LEFTMARGIN_str = catgetlocal( 101, "LEFTMARGIN");
200 	RIGHTMARGIN_str = catgetlocal( 102, "RIGHTMARGIN");
201 	LINE_str = catgetlocal( 103, "LINE");
202 	FILE_str = catgetlocal( 104, "FILE");
203 	COPYRIGHT_str = catgetlocal( 105, "COPYRIGHT");
204 	CHARACTER_str = catgetlocal( 106, "CHARACTER");
205 	REDRAW_str = catgetlocal( 107, "REDRAW");
206 	RESEQUENCE_str = catgetlocal( 108, "RESEQUENCE");
207 	AUTHOR_str = catgetlocal( 109, "AUTHOR");
208 	VERSION_str = catgetlocal( 110, "VERSION");
209 	CASE_str = catgetlocal( 111, "CASE");
210 	NOCASE_str = catgetlocal( 112, "NOCASE");
211 	EIGHT_str = catgetlocal( 113, "EIGHT");
212 	NOEIGHT_str = catgetlocal( 114, "NOEIGHT");
213 	WINDOWS_str = catgetlocal( 115, "WINDOWS");
214 	NOWINDOWS_str = catgetlocal( 116, "NOWINDOWS");
215 	DEFINE_str = catgetlocal( 117, "DEFINE");
216 	SHOW_str = catgetlocal( 118, "SHOW");
217 	HELP_str = catgetlocal( 119, "HELP");
218 	PRINT_str = catgetlocal( 120, "PRINT");
219 	BUFFER_str = catgetlocal( 121, "BUFFER");
220 	DELETE_str = catgetlocal( 122, "DELETE");
221 	DIFF_str = catgetlocal (406, "DIFF");
222 	GOLD_str = catgetlocal( 123, "GOLD");
223 	tab_msg = catgetlocal( 124, "set tabs are: ");
224 	file_write_prompt_str = catgetlocal( 125, "name of file to write: ");
225 	file_read_prompt_str = catgetlocal( 126, "name of file to read: ");
226 	left_mrg_err_msg = catgetlocal( 127, "cannot set left margin to value greater than right margin");
227 	right_mrg_err_msg = catgetlocal( 128, "cannot set right margin to value less than left margin");
228 	left_mrg_setting = catgetlocal( 129, "left margin is set to %d");
229 	right_mrg_setting = catgetlocal( 130, "right margin is set to %d");
230 	line_num_str = catgetlocal( 131, "line %d");
231 	lines_from_top = catgetlocal( 132, ", lines from top = %d, ");
232 	total_lines_str = catgetlocal( 133, "total number of lines = %d");
233 	current_file_str = catgetlocal( 134, "current file is \"%s\" ");
234 	char_str = catgetlocal( 135, "character = %d");
235 	key_def_msg = catgetlocal( 136, "key is defined as \"%s\"");
236 	unkn_syntax_msg = catgetlocal( 137, "unknown syntax beginning at \"%s\"");
237 	current_buff_msg = catgetlocal( 138, "current buffer is %s");
238 	unkn_cmd_msg = catgetlocal( 139, "unknown command \"%s\"");
239 	usage_str = catgetlocal( 140, "usage: %s file [-j] [-r] [-e] [-t] [-n] [i] [+line]\n");
240 	read_only_msg = catgetlocal( 141, " read only");
241 	no_rcvr_fil_msg = catgetlocal( 142, "no recover file");
242 	cant_opn_rcvr_fil_msg = catgetlocal( 143, " can't open new recover file");
243 	fin_read_file_msg = catgetlocal( 144, "finished reading file %s");
244 	rcvr_op_comp_msg = catgetlocal( 145, "recover operation complete");
245 	file_is_dir_msg = catgetlocal( 146, "file %s is a directory");
246 	path_not_a_dir_msg = catgetlocal( 147, "path is not a directory");
247 	access_not_allowed_msg = catgetlocal( 148, "mode of file %s does not allow access");
248 	new_file_msg = catgetlocal( 149, "new file %s");
249 	cant_open_msg = catgetlocal( 150, "can't open %s");
250 	bad_rcvr_msg = catgetlocal( 151, " can't open old recover file");
251 	reading_file_msg = catgetlocal( 152, "reading file %s");
252 	file_read_lines_msg = catgetlocal( 153, "file %s, %d lines");
253 	other_buffs_exist_msg = catgetlocal( 154, "other buffers exist, information will be lost, leave anyway? (y/n) ");
254 	changes_made_prompt = catgetlocal( 155, "changes have been made, are you sure? (y/n [n]) ");
255 	no_write_access_msg = catgetlocal( 156, "mode of file %s does not allow write access");
256 	file_exists_prompt = catgetlocal( 157, "file already exists, overwrite? (y/n) [n] ");
257 	cant_creat_fil_msg = catgetlocal( 158, "unable to create file %s");
258 	writing_msg = catgetlocal( 159, "writing file %s");
259 	file_written_msg = catgetlocal( 160, "%s %d lines, %d characters");
260 	searching_msg = catgetlocal( 161, "	     ...searching");
261 	fwd_srch_msg = catgetlocal( 162, " forward...");
262 	rev_srch_msg = catgetlocal( 163, " reverse...");
263 	str_str = catgetlocal( 164, "string ");
264 	not_fnd_str = catgetlocal( 165, " not found");
265 	search_prompt_str = catgetlocal( 166, "search for: ");
266 	mark_not_actv_str = catgetlocal( 167, "mark not active, must set 'mark' before cut or copy (see 'help' in the menu)");
267 	mark_active_str = catgetlocal( 168, "mark active");
268 	mark_alrdy_actv_str = catgetlocal( 169, "mark is already active");
269 	no_buff_named_str = catgetlocal( 170, "\nno buffer named \"%s\"\n");
270 	press_ret_to_cont_str = catgetlocal( 171, "press return to continue ");
271 
272 	fn_GOLD_str = catgetlocal( 172, "GOLD");
273 	fn_DL_str = catgetlocal( 173, "DL");
274 	fn_DC_str = catgetlocal( 174, "DC");
275 	fn_CL_str = catgetlocal( 175, "CL");
276 	fn_NP_str = catgetlocal( 176, "NP");
277 	fn_PP_str = catgetlocal( 177, "PP");
278 	fn_NB_str = catgetlocal( 178, "NB");
279 	fn_PB_str = catgetlocal( 179, "PB");
280 	fn_UDL_str = catgetlocal( 180, "UDL");
281 	fn_UDC_str = catgetlocal( 181, "UDC");
282 	fn_DW_str = catgetlocal( 182, "DW");
283 	fn_UDW_str = catgetlocal( 183, "UDW");
284 	fn_UND_str = catgetlocal( 184, "UND");
285 	fn_EOL_str = catgetlocal( 185, "EOL");
286 	fn_BOL_str = catgetlocal( 186, "BOL");
287 	fn_BOT_str = catgetlocal( 187, "BOT");
288 	fn_EOT_str = catgetlocal( 189, "EOT");
289 	fn_FORMAT_str = catgetlocal( 190, "FORMAT");
290 	fn_MARGINS_str = catgetlocal( 191, "MARGINS");
291 	fn_NOMARGINS_str = catgetlocal( 192, "NOMARGINS");
292 	fn_IL_str = catgetlocal( 193, "IL");
293 	fn_PRP_str = catgetlocal( 194, "PRP");
294 	fn_RP_str = catgetlocal( 195, "RP");
295 	fn_MC_str = catgetlocal( 196, "MC");
296 	fn_PSRCH_str = catgetlocal( 197, "PSRCH");
297 	fn_SRCH_str = catgetlocal( 198, "SRCH");
298 	fn_AL_str = catgetlocal( 199, "AL");
299 	fn_AW_str = catgetlocal( 200, "AW");
300 	fn_AC_str = catgetlocal( 201, "AC");
301 	fn_PW_str = catgetlocal( 202, "PW");
302 	fn_CUT_str = catgetlocal( 203, "CUT");
303 	fn_FWD_str = catgetlocal( 204, "FWD");
304 	fn_REV_str = catgetlocal( 205, "REV");
305 	fn_MARK_str = catgetlocal( 206, "MARK");
306 	fn_UNMARK_str = catgetlocal( 207, "UNMARK");
307 	fn_APPEND_str = catgetlocal( 208, "APPEND");
308 	fn_PREFIX_str = catgetlocal( 209, "PREFIX");
309 	fn_COPY_str = catgetlocal( 210, "COPY");
310 	fn_CMD_str = catgetlocal( 211, "CMD");
311 	fn_PST_str = catgetlocal( 212, "PST");
312 	fn_RD_str = catgetlocal( 213, "RD");
313 	fn_UP_str = catgetlocal( 214, "UP");
314 	fn_DOWN_str = catgetlocal( 215, "DOWN");
315 	fn_LEFT_str = catgetlocal( 216, "LEFT");
316 	fn_RIGHT_str = catgetlocal( 217, "RIGHT");
317 	fn_BCK_str = catgetlocal( 218, "BCK");
318 	fn_CR_str = catgetlocal( 219, "CR");
319 	fn_EXPAND_str = catgetlocal( 220, "EXPAND");
320 	fn_NOEXPAND_str = catgetlocal( 221, "NOEXPAND");
321 	fn_EXIT_str = catgetlocal( 222, "EXIT");
322 	fn_QUIT_str = catgetlocal( 223, "QUIT");
323 	fn_LITERAL_str = catgetlocal( 224, "LITERAL");
324 	fn_NOLITERAL_str = catgetlocal( 225, "NOLITERAL");
325 	fn_STATUS_str = catgetlocal( 226, "STATUS");
326 	fn_NOSTATUS_str = catgetlocal( 227, "NOSTATUS");
327 	fn_INDENT_str = catgetlocal( 228, "INDENT");
328 	fn_NOINDENT_str = catgetlocal( 229, "NOINDENT");
329 	fn_OVERSTRIKE_str = catgetlocal( 230, "OVERSTRIKE");
330 	fn_NOOVERSTRIKE_str = catgetlocal( 231, "NOOVERSTRIKE");
331 	fn_CASE_str = catgetlocal( 232, "CASE");
332 	fn_NOCASE_str = catgetlocal( 233, "NOCASE");
333 	fn_WINDOWS_str = catgetlocal( 234, "WINDOWS");
334 	fn_NOWINDOWS_str = catgetlocal( 235, "NOWINDOWS");
335 	fn_HELP_str = catgetlocal( 236, "HELP");
336 	fn_MENU_str = catgetlocal( 237, "MENU");
337 	fwd_mode_str = catgetlocal( 238, "forward mode");
338 	rev_mode_str = catgetlocal( 239, "reverse mode");
339 	ECHO_str = catgetlocal( 240, "ECHO");
340 	cmd_prompt = catgetlocal( 241, "command: ");
341 	PRINTCOMMAND_str = catgetlocal( 242, "PRINTCOMMAND");
342 	replace_action_prompt = catgetlocal( 243, "replace (r or <return>), skip (s), all occurrances (a), quit (q): ");
343 	replace_prompt_str = catgetlocal( 244, "/old_string/new_string/ : ");
344 	replace_r_char = catgetlocal( 245, "r");
345 	replace_skip_char = catgetlocal( 246, "s");
346 	replace_all_char = catgetlocal( 247, "a");
347 	quit_char = catgetlocal( 248, "q");
348 	yes_char = catgetlocal( 249, "y");
349 	no_char = catgetlocal( 250, "n");
350 	cant_find_match_str = catgetlocal( 251, "unable to find matching character");
351 	fmting_par_msg = catgetlocal( 252, "...formatting paragraph...");
352 	cancel_string = catgetlocal( 253, "press Esc to cancel");
353 	menu_too_lrg_msg = catgetlocal( 254, "menu too large for window");
354 	shell_cmd_prompt = catgetlocal( 255, "shell command: ");
355 	shell_echo_msg = catgetlocal( 256, "<!echo 'list of unrecognized words'; echo -=-=-=-=-=-");
356 	spell_in_prog_msg = catgetlocal( 257, "sending contents of edit buffer to 'spell'");
357 	left_marg_prompt = catgetlocal( 258, "left margin is: ");
358 	left_mrgn_err_msg = catgetlocal( 259, "left margin must be less than right margin");
359 	right_mrgn_prompt = catgetlocal( 260, "right margin is: ");
360 	right_mrgn_err_msg = catgetlocal( 261, "right margin must be greater than left margin");
361 	assignment[1].description = catgetlocal( 262, "menu      ");
362 	assignment[2].description = catgetlocal( 263, "up        ");
363 	assignment[3].description = catgetlocal( 264, "down      ");
364 	assignment[4].description = catgetlocal( 265, "left      ");
365 	assignment[5].description = catgetlocal( 266, "right     ");
366 	assignment[6].description = catgetlocal( 267, "command   ");
367 	assignment[7].description = catgetlocal( 268, "top of txt");
368 	assignment[8].description = catgetlocal( 269, "end of txt");
369 	assignment[9].description = catgetlocal( 270, "next page ");
370 	assignment[10].description = catgetlocal( 271, "prev page ");
371 	assignment[11].description = catgetlocal( 272, "del line  ");
372 	assignment[12].description = catgetlocal( 273, "und line  ");
373 	assignment[13].description = catgetlocal( 274, "del word  ");
374 	assignment[14].description = catgetlocal( 275, "und word  ");
375 	assignment[15].description = catgetlocal( 276, "del char  ");
376 	assignment[16].description = catgetlocal( 277, "und char  ");
377 	assignment[17].description = catgetlocal( 278, "undelete  ");
378 	assignment[18].description = catgetlocal( 279, "search    ");
379 	assignment[19].description = catgetlocal( 280, "srch prmpt");
380 	assignment[20].description = catgetlocal( 281, "beg of lin");
381 	assignment[21].description = catgetlocal( 282, "end of lin");
382 	assignment[22].description = catgetlocal( 283, "mark      ");
383 	assignment[23].description = catgetlocal( 284, "cut       ");
384 	assignment[24].description = catgetlocal( 285, "copy      ");
385 	assignment[25].description = catgetlocal( 286, "paste     ");
386 	assignment[26].description = catgetlocal( 287, "adv word  ");
387 	assignment[27].description = catgetlocal( 288, "replace   ");
388 	assignment[28].description = catgetlocal( 289, "repl prmpt");
389 	assignment[29].description = catgetlocal( 290, "clear line");
390 	assignment[30].description = catgetlocal( 291, "next buff ");
391 	assignment[31].description = catgetlocal( 292, "prev buff ");
392 	assignment[32].description = catgetlocal( 293, "fmt parag ");
393 	assignment[33].description = catgetlocal( 294, "margins   ");
394 	assignment[34].description = catgetlocal( 295, "nomargins ");
395 	assignment[35].description = catgetlocal( 296, "ins line  ");
396 	assignment[36].description = catgetlocal( 297, "match char");
397 	assignment[37].description = catgetlocal( 298, "adv line  ");
398 	assignment[38].description = catgetlocal( 299, "adv char  ");
399 	assignment[39].description = catgetlocal( 300, "prev word ");
400 	assignment[40].description = catgetlocal( 301, "forward   ");
401 	assignment[41].description = catgetlocal( 302, "reverse   ");
402 	assignment[42].description = catgetlocal( 303, "unmark    ");
403 	assignment[43].description = catgetlocal( 304, "append    ");
404 	assignment[44].description = catgetlocal( 305, "prefix    ");
405 	assignment[45].description = catgetlocal( 306, "redraw    ");
406 	assignment[46].description = catgetlocal( 307, "expand    ");
407 	assignment[47].description = catgetlocal( 308, "noexpand  ");
408 	assignment[48].description = catgetlocal( 309, "exit      ");
409 	assignment[49].description = catgetlocal( 310, "quit      ");
410 	assignment[50].description = catgetlocal( 311, "literal   ");
411 	assignment[51].description = catgetlocal( 312, "noliteral ");
412 	assignment[52].description = catgetlocal( 313, "status    ");
413 	assignment[53].description = catgetlocal( 314, "nostatus  ");
414 	assignment[54].description = catgetlocal( 315, "indent    ");
415 	assignment[55].description = catgetlocal( 316, "noindent  ");
416 	assignment[56].description = catgetlocal( 317, "overstrike");
417 	assignment[57].description = catgetlocal( 318, "noovrstrke");
418 	assignment[58].description = catgetlocal( 319, "case sens ");
419 	assignment[59].description = catgetlocal( 320, "nocase sns");
420 	assignment[60].description = catgetlocal( 321, "windows   ");
421 	assignment[61].description = catgetlocal( 322, "nowindows ");
422 	assignment[62].description = catgetlocal( 323, "help      ");
423 	assignment[63].description = catgetlocal( 324, "carrg rtrn");
424 	assignment[64].description = catgetlocal( 325, "backspace ");
425 	assignment[65].description = catgetlocal( 326, "GOLD      ");
426 
427 	cant_redef_msg = catgetlocal( 327, "cannot redefine control-%c");
428 	buff_msg = catgetlocal( 328, "buffer = %s");
429 	cant_chng_while_mark_msg = catgetlocal( 329, "you may not change buffers while mark is active");
430 	too_many_parms_msg = catgetlocal( 330, "too many parameters");
431 	buff_is_main_msg = catgetlocal( 331, "buffer = main");
432 	cant_del_while_mark = catgetlocal( 332, "cannot delete buffer while mark active");
433 	cant_del_buf_msg = catgetlocal( 333, "cannot delete buffer \"%s\" ");
434 	HIGHLIGHT_str = catgetlocal( 334, "HIGHLIGHT");
435 	NOHIGHLIGHT_str = catgetlocal( 335, "NOHIGHLIGHT");
436 	non_unique_cmd_msg = catgetlocal( 336, "entered command is not unique");
437 	ON = catgetlocal( 337, "ON");
438 	OFF = catgetlocal( 338, "OFF");
439 	save_file_name_prompt = catgetlocal( 339, "enter name of file: ");
440 	file_not_saved_msg = catgetlocal( 340, "no filename entered: file not saved");
441 	cant_reopen_journ = catgetlocal( 341, "can't reopen journal file");
442 	write_err_msg = catgetlocal( 342, "WRITE ERROR!");
443 	jrnl_dir = catgetlocal( 343, "journaldir");
444 	CD_str = catgetlocal( 344, "CD");
445 	no_dir_entered_msg = catgetlocal( 344, "ERROR: no directory entered");
446 	path_not_dir_msg = catgetlocal( 345, "ERROR: path is not a directory");
447 	path_not_permitted_msg = catgetlocal( 346, "ERROR: no permission for path");
448 	path_chng_failed_msg = catgetlocal( 347, "ERROR: path changed failed");
449 	no_chng_dir_msg = catgetlocal( 348, "ERROR: unable to determine file's full path, unable to change directory");
450 	SPACING_str = catgetlocal( 349, "spacing");
451 	SPACING_msg = catgetlocal( 350, "tabs are spaced every %d columns");
452 	help_file_str = catgetlocal( 351, "helpfile");
453 	pwd_cmd_str = catgetlocal( 352, "pwd");
454 	pwd_err_msg = catgetlocal( 353, "error getting current working directory");
455 	no_file_string = catgetlocal( 354, "no file");
456 	no_chng_no_save = catgetlocal( 355, "no changes have been made, file not saved");
457 	changes_made_title = catgetlocal( 356, "changes have been made to this buffer");
458 	save_then_delete  = catgetlocal( 357, "save then delete");
459 	dont_delete       = catgetlocal( 358, "do not delete");
460 	delete_anyway_msg = catgetlocal( 359, "delete, do not save");
461 	edit_cmd_str = catgetlocal( 360, "EDIT");
462 	edit_err_msg = catgetlocal( 361, "unable to edit file '%s'");
463 	restricted_msg = catgetlocal( 367, "restricted mode: unable to perform requested operation");
464 	rae_no_file_msg = catgetlocal( 368, "must specify a file when invoking rae");
465 	more_above_str = catgetlocal( 369, "^^more^^");
466 	more_below_str = catgetlocal( 370, "VVmoreVV");
467 	recover_name_prompt = catgetlocal( 371, "file to recover? ");
468 	no_file_name_string = catgetlocal( 372, "[no file name]");
469 	recover_menu_title = catgetlocal( 373, "Files to recover");
470 	other_recover_file_str = catgetlocal( 374, "Other file...");
471 	/* 375 is above as file_menu[5].item_string */
472 	/* 376 is above as mode_strings[14] */
473 	info_win_height_prompt = catgetlocal( 377, "height for info window: ");
474 	info_win_height_err = catgetlocal( 378, "ERROR: height for info window must be greater than zero and less than 16");
475 	info_win_height_cmd_str = catgetlocal( 379, "height");
476 	info_win_height_msg_str = catgetlocal( 380, "height of info window is: ");
477 	config_dump_menu[0].item_string = catgetlocal( 381, "save aee configuration");
478 	config_dump_menu[1].item_string = catgetlocal( 382, "save in current directory");
479 	config_dump_menu[2].item_string = catgetlocal( 383, "save in home directory");
480 	conf_not_saved_msg = catgetlocal( 384, "aee configuration not saved");
481 	/* 385 is above as mode_strings[17] */
482 	conf_dump_err_msg = catgetlocal( 386, "unable to open .init.ae for writing, no configuration saved!");
483 	conf_dump_success_msg = catgetlocal( 387, "aee configuration saved in file %s");
484 	info_help_msg = catgetlocal( 388, " ^ = Ctrl key  ---- access HELP through menu ---");
485 	unix_text_msg = catgetlocal( 389, "uxtxt");
486 	dos_text_msg = catgetlocal( 390, "dostxt");
487 	text_cmd = catgetlocal( 391, "text");
488 	binary_cmd = catgetlocal( 392, "binary");
489 	/* 393 is above as mode_strings[15]	*/
490 	/* 394 is above as mode_strings[16]	*/
491 	text_msg = catgetlocal( 395, "txt");
492 	binary_msg = catgetlocal( 396, "bin");
493 	dos_msg = catgetlocal( 397, "DOS");
494 	unix_msg = catgetlocal( 398, " UX");
495 	file_being_edited_msg = catgetlocal( 399, "file %s already being edited");
496 	file_being_edited_menu[1].item_string = catgetlocal( 400, "don't edit");
497 	file_being_edited_menu[2].item_string = catgetlocal( 401, "edit anyway");
498 	file_modified_msg = catgetlocal( 402, "file %s has been modified since last read");
499 	file_modified_menu[1].item_string = catgetlocal( 403, "do not write file");
500 	file_modified_menu[2].item_string = catgetlocal( 404, "write anyway");
501 	file_modified_menu[3].item_string = catgetlocal( 405, "do not write file, show diffs");
502 	/* 406 is above as DIFF_str */
503 	ee_mode_str = catgetlocal( 407, "ee_mode");
504 	journal_str = catgetlocal( 408, "journal");
505 	journal_err_str = catgetlocal( 409, "Error in journal file operation, closing journal.");
506 
507 
508 	del_buff_menu[0].item_string = changes_made_title;
509 	del_buff_menu[1].item_string = save_then_delete;
510 	del_buff_menu[2].item_string = dont_delete;
511 	del_buff_menu[3].item_string = delete_anyway_msg;
512 
513 	rae_err_menu[0].item_string = rae_no_file_msg;
514 	rae_err_menu[1].item_string = continue_prompt;
515 
516 	/* ----- */
517 
518 	assignment[1].macro = fn_MENU_str;
519 	assignment[2].macro = fn_UP_str;
520 	assignment[3].macro = fn_DOWN_str;
521 	assignment[4].macro = fn_LEFT_str;
522 	assignment[5].macro = fn_RIGHT_str;
523 	assignment[6].macro = fn_CMD_str;
524 	assignment[7].macro = fn_BOT_str;
525 	assignment[8].macro = fn_EOT_str;
526 	assignment[9].macro = fn_NP_str;
527 	assignment[10].macro = fn_PP_str;
528 	assignment[11].macro = fn_DL_str;
529 	assignment[12].macro = fn_UDL_str;
530 	assignment[13].macro = fn_DW_str;
531 	assignment[14].macro = fn_UDW_str;
532 	assignment[15].macro = fn_DC_str;
533 	assignment[16].macro = fn_UDC_str;
534 	assignment[17].macro = fn_UND_str;
535 	assignment[18].macro = fn_SRCH_str;
536 	assignment[19].macro = fn_PSRCH_str;
537 	assignment[20].macro = fn_BOL_str;
538 	assignment[21].macro = fn_EOL_str;
539 	assignment[22].macro = fn_MARK_str;
540 	assignment[23].macro = fn_CUT_str;
541 	assignment[24].macro = fn_COPY_str;
542 	assignment[25].macro = fn_PST_str;
543 	assignment[26].macro = fn_AW_str;
544 	assignment[27].macro = fn_RP_str;
545 	assignment[28].macro = fn_PRP_str;
546 	assignment[29].macro = fn_CL_str;
547 	assignment[30].macro = fn_NB_str;
548 	assignment[31].macro = fn_PB_str;
549 	assignment[32].macro = fn_FORMAT_str;
550 	assignment[33].macro = fn_MARGINS_str;
551 	assignment[34].macro = fn_NOMARGINS_str;
552 	assignment[35].macro = fn_IL_str;
553 	assignment[36].macro = fn_MC_str;
554 	assignment[37].macro = fn_AL_str;
555 	assignment[38].macro = fn_AC_str;
556 	assignment[39].macro = fn_PW_str;
557 	assignment[40].macro = fn_FWD_str;
558 	assignment[41].macro = fn_REV_str;
559 	assignment[42].macro = fn_UNMARK_str;
560 	assignment[43].macro = fn_APPEND_str;
561 	assignment[44].macro = fn_PREFIX_str;
562 	assignment[45].macro = fn_RD_str;
563 	assignment[46].macro = fn_EXPAND_str;
564 	assignment[47].macro = fn_NOEXPAND_str;
565 	assignment[48].macro = fn_EXIT_str;
566 	assignment[49].macro = fn_QUIT_str;
567 	assignment[50].macro = fn_LITERAL_str;
568 	assignment[51].macro = fn_NOLITERAL_str;
569 	assignment[52].macro = fn_STATUS_str;
570 	assignment[53].macro = fn_NOSTATUS_str;
571 	assignment[54].macro = fn_INDENT_str;
572 	assignment[55].macro = fn_NOINDENT_str;
573 	assignment[56].macro = fn_OVERSTRIKE_str;
574 	assignment[57].macro = fn_NOOVERSTRIKE_str;
575 	assignment[58].macro = fn_CASE_str;
576 	assignment[59].macro = fn_NOCASE_str;
577 	assignment[60].macro = fn_WINDOWS_str;
578 	assignment[61].macro = fn_NOWINDOWS_str;
579 	assignment[62].macro = fn_HELP_str;
580 	assignment[63].macro = fn_CR_str;
581 	assignment[64].macro = fn_BCK_str;
582 	assignment[65].macro = fn_GOLD_str;
583 	assignment[66].macro = NULL;
584 
585 	commands[0] = WRITE_str;
586 	commands[1] = READ_str;
587 	commands[2] = SAVE_str;
588 	commands[3] = EXIT_str;
589 	commands[4] = QUIT_str;
590 	commands[5] = INFO_str;
591 	commands[6] = NOINFO_str;
592 	commands[7] = TABS_str;
593 	commands[8] = UNTABS_str;
594 	commands[9] = SPACING_str;
595 	commands[10] = LITERAL_str;
596 	commands[11] = NOLITERAL_str;
597 	commands[12] = STATUS_str;
598 	commands[13] = NOSTATUS_str;
599 	commands[14] = MARGINS_str;
600 	commands[15] = NOMARGINS_str;
601 	commands[16] = INDENT_str;
602 	commands[17] = NOINDENT_str;
603 	commands[18] = OVERSTRIKE_str;
604 	commands[19] = NOOVERSTRIKE_str;
605 	commands[20] = LEFTMARGIN_str;
606 	commands[21] = RIGHTMARGIN_str;
607 	commands[22] = DEFINE_str;
608 	commands[23] = SHOW_str;
609 	commands[24] = HELP_str;
610 	commands[25] = PRINT_str;
611 	commands[26] = BUFFER_str;
612 	commands[27] = DELETE_str;
613 	commands[28] = LINE_str;
614 	commands[29] = FILE_str;
615 	commands[30] = CHARACTER_str;
616 	commands[31] = REDRAW_str;
617 	commands[32] = RESEQUENCE_str;
618 	commands[33] = CASE_str;
619 	commands[34] = NOCASE_str;
620 	commands[35] = EIGHT_str;
621 	commands[36] = NOEIGHT_str;
622 	commands[37] = WINDOWS_str;
623 	commands[38] = NOWINDOWS_str;
624 	commands[39] = NOJUSTIFY_str;
625 	commands[40] = JUSTIFY_str;
626 	commands[41] = EXPAND_str;
627 	commands[42] = NOEXPAND_str;
628 	commands[43] = AUTOFORMAT_str;
629 	commands[44] = NOAUTOFORMAT_str;
630 	commands[45] = VERSION_str;
631 	commands[46] = AUTHOR_str;
632 	commands[47] = COPYRIGHT_str;
633 	commands[48] = CD_str;
634 	commands[49] = pwd_cmd_str;
635 	commands[50] = edit_cmd_str;
636 	commands[51] = info_win_height_cmd_str;
637 	commands[52] = text_cmd;
638 	commands[53] = binary_cmd;
639 	commands[54] = DIFF_str;
640 	commands[55] = ">";
641 	commands[56] = "!";
642 	commands[57] = "0";
643 	commands[58] = "1";
644 	commands[59] = "2";
645 	commands[60] = "3";
646 	commands[61] = "4";
647 	commands[62] = "5";
648 	commands[63] = "6";
649 	commands[64] = "7";
650 	commands[65] = "8";
651 	commands[66] = "9";
652 	commands[67] = "+";
653 	commands[68] = "-";
654 	commands[69] = "<";
655 	commands[70] = journal_str;
656 	commands[71] = NULL;
657 
658 	init_strings[0] = INFO_str;
659 	init_strings[1] = NOINFO_str;
660 	init_strings[2] = TABS_str;
661 	init_strings[3] = UNTABS_str;
662 	init_strings[4] = LITERAL_str;
663 	init_strings[5] = NOLITERAL_str;
664 	init_strings[6] = STATUS_str;
665 	init_strings[7] = NOSTATUS_str;
666 	init_strings[8] = MARGINS_str;
667 	init_strings[9] = NOMARGINS_str;
668 	init_strings[10] = INDENT_str;
669 	init_strings[11] = NOINDENT_str;
670 	init_strings[12] = OVERSTRIKE_str;
671 	init_strings[13] = NOOVERSTRIKE_str;
672 	init_strings[14] = LEFTMARGIN_str;
673 	init_strings[15] = RIGHTMARGIN_str;
674 	init_strings[16] = DEFINE_str;
675 	init_strings[17] = CASE_str;
676 	init_strings[18] = NOCASE_str;
677 	init_strings[19] = EIGHT_str;
678 	init_strings[20] = NOEIGHT_str;
679 	init_strings[21] = WINDOWS_str;
680 	init_strings[22] = NOWINDOWS_str;
681 	init_strings[23] = NOJUSTIFY_str;
682 	init_strings[24] = JUSTIFY_str;
683 	init_strings[25] = EXPAND_str;
684 	init_strings[26] = NOEXPAND_str;
685 	init_strings[27] = AUTOFORMAT_str;
686 	init_strings[28] = NOAUTOFORMAT_str;
687 	init_strings[29] = ECHO_str;
688 	init_strings[30] = PRINTCOMMAND_str;
689 	init_strings[31] = HIGHLIGHT_str;
690 	init_strings[32] = NOHIGHLIGHT_str;
691 	init_strings[33] = jrnl_dir;
692 	init_strings[34] = SPACING_str;
693 	init_strings[35] = help_file_str;
694 	init_strings[36] = info_win_height_cmd_str;
695 	init_strings[37] = text_cmd;
696 	init_strings[38] = binary_cmd;
697 	init_strings[39] = ee_mode_str;
698 	init_strings[40] = NULL;
699 
700 #ifndef NO_CATGETS
701 	catclose(catalog);
702 #endif /* NO_CATGETS */
703 }
704