1 package devisor2.grid.options;
2 
3 import java.util.*;
4 import java.awt.*;
5 import java.awt.event.*;
6 import javax.swing.*;
7 
8 /**
9  *  This class provides the localization information for english language
10  *  and US country scheme (e.g. keyboard layout).
11  *  All text messages for the whole Application are stored in this class's
12  *  rather giant key-value Object[][] attribute with the key being the first
13  *  argument (a constant String) and the value the second argument. <br>
14  *  <br>
15  *  As the locale is dynamically linked to the application, a
16  *  MissingRessourceException is thrown during startup if you use a key
17  *  not specified in this class. So please NEVER modify the keys! <br>
18  *  <br>
19  *  If you want to create your own localized version of the application, just
20  *  create a copy of this class in the same directory and change the en to
21  *  your target language (a pair of lowercase letters that conform to
22  *  ISO-639), and the US to your target country scheme (two uppercase letters
23  *  that conform to ISO-3166) in both filename and classname.
24  *  After that, just try not to get bored while translating all the
25  *  right-hand String values assigned to the keys. Again: DO NOT TRANSLATE
26  *  THE KEYS! <br>
27  *  By convention, the first part of each key consists of the full qualified
28  *  package name, followed by an underscore (_), the class name, underscore,
29  *  method- or attribute name, underscore and then your identifier.
30  *  Some general keys like the captions of buttons used everywhere throughout
31  *  the application etc. are stored with the prefix general_. <br>
32  *  <br>
33  *  This class is also made globally accessible in the ControlCenter class.
34  *  <br> <br>
35  *  Throughout the application, the contents of this class are accessible
36  *  via the getObject(key) method. Note that an Object is returned which
37  *  normally has to be casted to a String. On the other hand, also
38  *  menu mnemonics are saved in here, so no specific casting takes
39  *  place in this class. <br>
40  *  <br>
41  *  Example: <br>
42  *  Let's say you want to extract the caption for an APPLY-button.
43  *  For this application, it is stored under the key "general_Apply"
44  *  Via the ControlCenter instance set up during program startup (suppose you
45  *  have a reference in your class called cc), you have access to the
46  *  ResourceBundle for your locale (in fact, you are just reading the class
47  *  info of the ResourceBundle for english language...), named rb in the
48  *  ControlCenter class and declared as public there.
49  *  You want to extract a String, but as said before, an Object is returned,
50  *  so you might have to cast to avoid an error during compilation. <br>
51  *  So all you have to do is: <br>
52  *  (1) get the object stored under the specified key you are looking for:<br>
53  *      <code>Object obj = cc.op.getObject ("general_apply"): <\code> <br>
54  *  (2) cast it to a String:<br>
55  *      <code> String myCaption = (String)obj; <\code> <br>
56  *  (3) use it whichever way you want: <br>
57  *      <code>JButton myApplyButton = new JButton (myCaption);<\code> <br>
58  *  (4) or, to save time writing code, you can do this all in one step: <br>
59  *      <code>JButton myApplyButton = new JButton ((String)cc.op.get ("general_apply"));<\code> <br>
60  *  Analogously, the Mnemonics are stored as objects of class Integer, so
61  *  you have to cast to an Integer then and get the int value by invoking
62  *  the Integer.intValue() method. <br>
63  *
64  *  @author Dominik Goeddeke
65  *  @see devisor2.GUI.base.dialog.OptionDialog
66  *  @see java.util.Locale
67  *  @see java.util.ListRessourceBundle
68  *  @version 1.0 english
69  *
70  */
71 
72 public class Locale_en_US extends ListResourceBundle
73 {
74     /**
75      *  returns the whole two-dimensional object array
76      *
77      *  @return the complete locales stored in this class
78      */
getContents()79     public Object[][] getContents ()
80     {
81 	return contents;
82     }
83 
84     /**
85      *  ugly but neccessary...
86      */
87     private Object[][] contents =
88     {
89 	/* General button captions */
90 	{"general_Ok", "OK"},
91 	{"general_Ok_mnemonic", new Integer (KeyEvent.VK_O)},
92 	{"general_Accept", "Accept"},
93 	{"general_Cancel", "Cancel"},
94 	{"general_Cancel_mnemonic", new Integer (KeyEvent.VK_A)},
95 	{"general_Apply", "Apply"},
96 	{"general_Apply_mnemonic", new Integer (KeyEvent.VK_A)},
97 	{"general_Quit", "Quit"},
98 	{"general_Close", "Close"},
99 	{"general_Close_mnemonic", new Integer (KeyEvent.VK_C)},
100 
101 	/* General messagebox texts */
102 	{"general_message_unsaveddata","You have unsaved data.\n Do you really want to proceed?"},
103 	{"general_message_unsaveddata_header","Unsaved Data"},
104 	{"general_message_quit","Are you sure you want to exit?"},
105 	{"general_message_quit_header","Quit"},
106 
107 	/* error messages */
108 	{"errors_lookandfeelnotsupported","Your Look&Feel selection is not supported on your system! \n No changes to the Look&Feel are made."},
109 	{"errors_messageboxheader", "ERROR"},
110 	{"errors_parseerror", "Parsing Error"},
111 	{"errors_notfounderror", "Reference not found!"},
112 	{"errors_gridinputerror", "Mouse input error!"},
113 	{"errors_directerror", "Direct input error"},
114 	{"errors_directnotsupported", "Direct Input is not supported \n for this kind of element or segment! \n Try switching direct input off before trying again."},
115 	{"errors_selectionerror", "Selection Error"},
116 	{"errors_emptyselection", "This operation can only be performed \n when some items are selected."},
117 	{"errors_cloneerror", "Clone Error"},
118 
119 	/* General dialog captions and dialog button captions */
120 	{"dialogs_loaddialog_caption", "Open an existing domain"},
121 	{"dialogs_loaddialog_button", "Open"},
122 	{"dialogs_savedialog_button", "Save"},
123 	{"dialogs_saveucddialog_caption", "Save as UCD"},
124 	{"dialogs_savefeatdialog_caption", "Save as FEAT"},
125 	{"dialogs_savefeastdialog_caption", "Save as FEAST"},
126 	{"dialogs_printdialog_caption", "Save as PostScript"},
127 	{"dialogs_printlsdialog_caption", "Save as PostScript Landscape"},
128 	{"dialogs_saveoptionsdialog_caption", "Save DeViSoRGrid2 Options"},
129 	{"dialogs_loadoptionsdialog_caption", "Load DeViSoRGrid2 Options"},
130 	{"dialogs_mergedialog_caption", "Choose domain to merge with ..."},
131 	{"dialogs_mergedialog_button", "Merge"},
132 	{"dialogs_printdialog_button", "SaveAs"},
133 
134 	/* menu items and corresponding shortcuts */
135 	{"menu_file_header", "File"},
136 	{"menu_file_header_mnemonic", new Integer(KeyEvent.VK_F) },
137 	{"menu_file_new", "New" },
138 	{"menu_file_new_mnemonic", new Integer(KeyEvent.VK_N)},
139 	{"menu_file_open", "Open ..." },
140 	{"menu_file_open_mnemonic", new Integer(KeyEvent.VK_O)},
141 	{"menu_file_save", "Save" },
142 	{"menu_file_save_mnemonic", new Integer(KeyEvent.VK_S)},
143 	{"menu_file_saveas", "Save As" },
144 	{"menu_file_saveas_mnemonic", new Integer(KeyEvent.VK_A)},
145 	{"menu_file_saveas_ucd", "UCD ... " },
146 	{"menu_file_saveas_ucd_mnemonic", new Integer(KeyEvent.VK_U)},
147 	{"menu_file_saveas_feat", "FEAT ... " },
148 	{"menu_file_saveas_feat_mnemonic", new Integer(KeyEvent.VK_E)},
149 	{"menu_file_saveas_feast", "FEAST ... " },
150 	{"menu_file_saveas_feast_mnemonic", new Integer(KeyEvent.VK_F)},
151 	{"menu_file_merge", "Merge Domain ..." },
152 	{"menu_file_merge_mnemonic", new Integer(KeyEvent.VK_M)},
153 	{"menu_file_printls", "Print Landscape..." },
154 	{"menu_file_printls_mnemonic", new Integer(KeyEvent.VK_Z)},
155 	{"menu_file_print", "Print ..." },
156 	{"menu_file_print_mnemonic", new Integer(KeyEvent.VK_P)},
157         {"menu_file_exit", "Exit" },
158 	{"menu_file_exit_mnemonic", new Integer(KeyEvent.VK_X)},
159 	{"menu_edit_header", "Edit"},
160 	{"menu_edit_header_mnemonic", new Integer(KeyEvent.VK_E) },
161 	{"menu_edit_undo", "Undo" },
162 	{"menu_edit_undo_mnemonic", new Integer(KeyEvent.VK_U)},
163 	{"menu_edit_redo", "Redo" },
164 	{"menu_edit_redo_mnemonic", new Integer(KeyEvent.VK_R)},
165 	{"menu_edit_cut", "Cut" },
166 	{"menu_edit_cut_mnemonic", new Integer(KeyEvent.VK_T)},
167 	{"menu_edit_copy", "Copy" },
168 	{"menu_edit_copy_mnemonic", new Integer(KeyEvent.VK_C)},
169 	{"menu_edit_paste", "Paste" },
170 	{"menu_edit_paste_mnemonic", new Integer(KeyEvent.VK_P)},
171 	{"menu_edit_copymode", "Copy Mode" },
172 	{"menu_edit_copymode_mnemonic", new Integer(KeyEvent.VK_M)},
173 	{"menu_edit_delete", "Delete" },
174 	{"menu_edit_delete_mnemonic", new Integer(KeyEvent.VK_D)},
175 	{"menu_edit_deletewb", "Delete working boundary" },
176 	{"menu_edit_deletewb_mnemonic", new Integer(KeyEvent.VK_W)},
177 	{"menu_edit_scale", "Scale ..." },
178 	{"menu_edit_scale_mnemonic", new Integer(KeyEvent.VK_L)},
179 	{"menu_edit_rotate", "Rotate ..." },
180 	{"menu_edit_rotate_mnemonic", new Integer(KeyEvent.VK_R)},
181 	{"menu_edit_mirror", "Mirror ..." },
182 	{"menu_edit_mirror_mnemonic", new Integer(KeyEvent.VK_I)},
183 	{"menu_edit_selectboundary", "Select current Boundary ..." },
184 	{"menu_edit_selectboundary_mnemonic", new Integer(KeyEvent.VK_B)},
185 	{"menu_view_header", "View" },
186 	{"menu_view_header_mnemonic", new Integer(KeyEvent.VK_V)},
187 	{"menu_view_zoom_setzoom", "Set Zoom" },
188 	{"menu_view_zoom_setzoom_mnemonic", new Integer(KeyEvent.VK_Z)},
189 	{"menu_view_zoom_resetzoom", "Reset Zoom" },
190 	{"menu_view_zoom_resetzoom_mnemonic", new Integer(KeyEvent.VK_R)},
191 	{"menu_view_zoom_zoomplus", "Zoom in" },
192 	{"menu_view_zoom_zoomplus_mnemonic", new Integer(KeyEvent.VK_I)},
193 	{"menu_view_zoom_zoomminus", "Zoom out" },
194 	{"menu_view_zoom_zoomminus_mnemonic", new Integer(KeyEvent.VK_O)},
195 	{"menu_view_selectnodes", "Select Nodes" },
196 	{"menu_view_selectnodes_mnemonic", new Integer(KeyEvent.VK_N)},
197 	{"menu_view_selectelements", "Select Elements" },
198 	{"menu_view_selectelements_mnemonic", new Integer(KeyEvent.VK_E)},
199 	{"menu_view_selectsegments", "Select Segments" },
200 	{"menu_view_selectsegments_mnemonic", new Integer(KeyEvent.VK_S)},
201 	{"menu_view_selectedges", "Select Edges" },
202 	{"menu_view_selectedges_mnemonic", new Integer(KeyEvent.VK_D)},
203 	{"menu_view_properties", "View Properties" },
204 	{"menu_view_properties_mnemonic", new Integer(KeyEvent.VK_P)},
205 	{"menu_domain_header", "Domain" },
206 	{"menu_domain_header_mnemonic", new Integer(KeyEvent.VK_D)},
207 	{"menu_domain_newboundary", "New Boundary Container" },
208 	{"menu_domain_newboundary_mnemonic", new Integer(KeyEvent.VK_C)},
209 	{"menu_domain_newanalytic", "Analytic Domain Description ..." },
210 	{"menu_domain_newanalytic_mnemonic", new Integer(KeyEvent.VK_A)},
211 	{"menu_domain_directinput", "Direct Input" },
212 	{"menu_domain_directinput_mnemonic", new Integer(KeyEvent.VK_D)},
213 	{"menu_domain_newsegment", "New Segment" },
214 	{"menu_domain_newsegment_mnemonic", new Integer(KeyEvent.VK_S)},
215 	{"menu_domain_newline", "Line" },
216 	{"menu_domain_newline_mnemonic", new Integer(KeyEvent.VK_L)},
217 	{"menu_domain_newmultiline", "MultiLine" },
218 	{"menu_domain_newmultiline_mnemonic", new Integer(KeyEvent.VK_M)},
219 	{"menu_domain_newcirclep", "Circle+" },
220 	{"menu_domain_newcirclep_mnemonic", new Integer(KeyEvent.VK_PLUS)},
221 	{"menu_domain_newcirclem", "Circle-" },
222 	{"menu_domain_newcirclem_mnemonic", new Integer(KeyEvent.VK_MINUS)},
223 	{"menu_domain_newelement", "New Element" },
224 	{"menu_domain_newelement_mnemonic", new Integer(KeyEvent.VK_E)},
225 	{"menu_domain_newtri", "Tri" },
226 	{"menu_domain_newtri_mnemonic", new Integer(KeyEvent.VK_T)},
227 	{"menu_domain_newquad", "Quad" },
228 	{"menu_domain_newquad_mnemonic", new Integer(KeyEvent.VK_Q)},
229 	{"menu_domain_newmacro", "Macro" },
230 	{"menu_domain_newmacro_mnemonic", new Integer(KeyEvent.VK_M)},
231 	{"menu_domain_newnode", "New Node" },
232 	{"menu_domain_newnode_mnemonic", new Integer(KeyEvent.VK_N)},
233 	{"menu_domain_adjustboundaries", "Adjust Boundaries" },
234 	{"menu_domain_adjustboundaries_mnemonic", new Integer(KeyEvent.VK_J)},
235 	{"menu_domain_linkboundaries", "Link Boundaries" },
236 	{"menu_domain_linkboundaries_mnemonic", new Integer(KeyEvent.VK_L)},
237 	{"menu_domain_fromtri2prm", "Generate PRM from TRI" },
238 	{"menu_domain_fromtri2prm_mnemonic", new Integer(KeyEvent.VK_G)},	{"menu_domain_swapboundaryorientation", "Swap Boundary Orientation" },
239 	{"menu_domain_swapboundaryorientation_mnemonic", new Integer(KeyEvent.VK_O)},
240 	{"menu_domain_domainperimeter", "Domain Perimeter ..." },
241 	{"menu_domain_domainperimeter_mnemonic", new Integer(KeyEvent.VK_P)},
242 	{"menu_domain_domainstatistics", "Domain Statistics" },
243 	{"menu_domain_domainstatistics_mnemonic", new Integer(KeyEvent.VK_I)},
244 	{"menu_grid_header", "Grid"},
245 	{"menu_grid_header_mnemonic", new Integer(KeyEvent.VK_G) },
246 	{"menu_grid_multipleboundarynodes", "Add Multiple Boundary Nodes..."},
247 	{"menu_grid_multipleboundarynodes_mnemonic", new Integer(KeyEvent.VK_M) },
248 	{"menu_grid_edgestatus", "Set Edge Status ..."},
249 	{"menu_grid_edgestatus_mnemonic", new Integer(KeyEvent.VK_E) },
250 	{"menu_grid_parallelblock", "Set Parallel Block ..."},
251 	{"menu_grid_parallelblock_mnemonic", new Integer(KeyEvent.VK_P) },
252 	{"menu_grid_loadbalancing", "Loadbalancing ..."},
253 	{"menu_grid_loadbalancing_mnemonic", new Integer(KeyEvent.VK_L) },
254 	{"menu_grid_rectifyelement", "Rectify Element"},
255 	{"menu_grid_rectifyelement_mnemonic", new Integer(KeyEvent.VK_R) },
256 	{"menu_grid_refine", "Refine ..."},
257 	{"menu_grid_refine_mnemonic", new Integer(KeyEvent.VK_F) },
258 	{"menu_grid_spellchecker", "SpellChecker ..."},
259 	{"menu_grid_spellchecker_mnemonic", new Integer(KeyEvent.VK_S) },
260 	{"menu_grid_mergeboundaries", "Merge two Boundaries ..."},
261 	{"menu_grid_mergeboundaries_mnemonic", new Integer(KeyEvent.VK_M) },
262 	{"menu_options_header", "Options"},
263 	{"menu_options_header_mnemonic", new Integer(KeyEvent.VK_O) },
264 	{"menu_options_general","General Options"},
265 	{"menu_options_general_mnemonic",new Integer(KeyEvent.VK_G)},
266 	{"menu_options_draw","Draw Options"},
267 	{"menu_options_draw_mnemonic",new Integer(KeyEvent.VK_D)},
268 	{"menu_options_color","Color Options"},
269 	{"menu_options_color_mnemonic",new Integer(KeyEvent.VK_C)},
270 	{"menu_options_accelerator","Accelerator Assignment"},
271 	{"menu_options_accelerator_mnemonic",new Integer(KeyEvent.VK_A)},
272 	{"menu_options_misc","Miscellaneous Options"},
273 	{"menu_options_misc_mnemonic",new Integer(KeyEvent.VK_M)},
274 	{"menu_help_header", "Help"},
275 	{"menu_help_header_mnemonic", new Integer(KeyEvent.VK_H) },
276 	{"menu_help_manual", "Manual ..."},
277 	{"menu_help_manual_mnemonic", new Integer(KeyEvent.VK_M) },
278 	{"menu_help_faq", "FAQ ..."},
279 	{"menu_help_faq_mnemonic", new Integer(KeyEvent.VK_F) },
280 	{"menu_help_readme", "Readme ..."},
281 	{"menu_help_readme_mnemonic", new Integer(KeyEvent.VK_R) },
282 	{"menu_help_about", "About ..."},
283 	{"menu_help_about_mnemonic", new Integer(KeyEvent.VK_A) },
284 
285 
286 
287 	/* keys for class devisor2.GUI.dialogs.OptionsDialog */
288 	// general stuff
289 	{"options_OptionsDialog_general_title", "DeViSoRGrid2 Options Control Center"},
290 	// buttons
291 	{"options_OptionsDialog_acceptButton", "Accept"},
292 	{"options_OptionsDialog_acceptButton_tooltip", "Accept changes, apply and close the dialog"},
293 	{"options_OptionsDialog_acceptButton_mnemonic", new Integer (KeyEvent.VK_A)},
294 	{"options_OptionsDialog_cancelButton", "Cancel"},
295 	{"options_OptionsDialog_cancelButton_tooltip", "Cancel and close the dialog"},
296 	{"options_OptionsDialog_cancelButton_mnemonic", new Integer (KeyEvent.VK_C)},
297 	{"options_OptionsDialog_loadButton", "Load settings..."},
298 	{"options_OptionsDialog_loadButton_tooltip", "Load previously saved settings"},
299 	{"options_OptionsDialog_loadButton_mnemonic", new Integer (KeyEvent.VK_L)},
300 	{"options_OptionsDialog_saveButton", "Save settings..."},
301 	{"options_OptionsDialog_saveButton_tooltip", "Save settings to file."},
302 	{"options_OptionsDialog_saveButton_mnemonic", new Integer (KeyEvent.VK_S)},
303 	{"options_OptionsDialog_resetButton", "Restore Defaults"},
304 	{"options_OptionsDialog_resetButton_tooltip", "Set all options to factory defaults."},
305 	{"options_OptionsDialog_resetButton_mnemonic", new Integer (KeyEvent.VK_R)},
306 	{"options_OptionsDialog_helpButton", "Help"},
307 	{"options_OptionsDialog_helpButton_tooltip", "Show help screen"},
308 	{"options_OptionsDialog_helpButton_mnemonic", new Integer (KeyEvent.VK_H)},
309 	// general tab
310 	{"options_OptionsDialog_generalPanel_tabheader", "General"},
311 	{"options_OptionsDialog_generalPanel_tabheader_tooltip", "Change general DeViSoR2 options"},
312 	{"options_OptionsDialog_generalPanel_devisorhome","DEVISORHOME Directory"},
313 	{"options_OptionsDialog_generalPanel_devisorhome_tooltip","Click to show the File Chooser Dialog"},
314 	{"options_OptionsDialog_generalPanel_devisorhome_dialogtitle","DEVISORHOME directory selection"},
315 	{"options_OptionsDialog_generalPanel_generalpath","Default load and save path"},
316 	{"options_OptionsDialog_generalPanel_generalpath_tooltip","Click to show the File Chooser Dialog"},
317 	{"options_OptionsDialog_generalPanel_generalpath_dialogtitle","Default path selection"},
318 	{"options_OptionsDialog_generalPanel_trigen","TriGen2D Path"},
319 	{"options_OptionsDialog_generalPanel_trigen_tooltip","Click to show the File Chooser Dialog"},
320 	{"options_OptionsDialog_generalPanel_trigen_dialogtitle","Trigen Path selection"},
321 	{"options_OptionsDialog_generalPanel_featlib","Feat Library Path"},
322 	{"options_OptionsDialog_generalPanel_featlib_tooltip","Click to show the File Chooser Dialog"},
323 	{"options_OptionsDialog_generalPanel_featlib_dialogtitle","Feat Library Path selection"},
324 
325 	// draw tab
326 	{"options_OptionsDialog_drawPanel_tabheader", "Draw Settings"},
327 	{"options_OptionsDialog_drawPanel_tabheader_tooltip", "Configure the appearance of the drawing area"},
328 	{"options_OptionsDialog_drawPanel_boundary_header", "Boundaries"},
329 	{"options_OptionsDialog_drawPanel_boundary_draw", "Draw Boundaries"},
330 	{"options_OptionsDialog_drawPanel_boundary_number", "Display Boundary Numbers"},
331 	{"options_OptionsDialog_drawPanel_node_header", "Nodes"},
332 	{"options_OptionsDialog_drawPanel_node_draw", "Draw Nodes"},
333 	{"options_OptionsDialog_drawPanel_node_number", "Display Node Numbers"},
334 	{"options_OptionsDialog_drawPanel_edge_header", "Edges"},
335 	{"options_OptionsDialog_drawPanel_edge_draw", "Draw edges"},
336 	{"options_OptionsDialog_drawPanel_edge_number", "Display Edge Numbers"},
337 	{"options_OptionsDialog_drawPanel_element_header", "Elements"},
338 	{"options_OptionsDialog_drawPanel_element_draw", "Draw Elements"},
339 	{"options_OptionsDialog_drawPanel_element_number", "Display Element Numbers"},
340 	{"options_OptionsDialog_drawPanel_element_cross", "Cross Elements"},
341 	{"options_OptionsDialog_drawPanel_element_fill", "Fill Elements"},
342 	{"options_OptionsDialog_drawPanel_misc_header", "Miscellaneous"},
343 	{"options_OptionsDialog_drawPanel_misc_grid", "Draw Grid"},
344 	{"options_OptionsDialog_drawPanel_misc_perimeter", "Draw Perimeter"},
345 	{"options_OptionsDialog_drawPanel_misc_rectangular", "Highlight Rectangular Elements"},
346 	{"options_OptionsDialog_drawPanel_edit_header", "Configure Mouse Input"},
347 	{"options_OptionsDialog_drawPanel_edit_snapon", "Snap Mode enabled"},
348 	{"options_OptionsDialog_drawPanel_edit_snapx", "Snap in x direction"},
349 	{"options_OptionsDialog_drawPanel_edit_snapy", "Snap in y direction"},
350 	{"options_OptionsDialog_drawPanel_edit_tolerance", "Click Tolerance"},
351 	{"options_OptionsDialog_drawPanel_edit_drawcoords", "Display user coordinates"},
352 	{"options_OptionsDialog_drawPanel_edit_draworientationmarkers", "Draw orientation markers"},
353 	{"options_OptionsDialog_drawPanel_edit_epsilon", "Global epsilon"},
354 	{"options_OptionsDialog_drawPanel_edit_epsilon_sliderlow", "low"},
355 	{"options_OptionsDialog_drawPanel_edit_epsilon_slidermedium", "average"},
356 	{"options_OptionsDialog_drawPanel_edit_epsilon_sliderhigh", "high"},
357 
358 	// color tab
359 	{"options_OptionsDialog_colorPanel_tabheader", "Color Settings"},
360 	{"options_OptionsDialog_colorPanel_tabheader_tooltip", "Fine-tune the colors used for painting items"},
361 	{"options_OptionsDialog_colorPanel_objects_header", "Objects"},
362 	{"options_OptionsDialog_colorPanel_objects_node", "Nodes:"},
363 	{"options_OptionsDialog_colorPanel_objects_node_dialog", "Select the Color for Node objects"},
364 	{"options_OptionsDialog_colorPanel_objects_edge", "Edges:"},
365 	{"options_OptionsDialog_colorPanel_objects_edge_dialog", "Select the Color for Edge objects"},
366 	{"options_OptionsDialog_colorPanel_objects_edgebase", "Edge base:"},
367 	{"options_OptionsDialog_colorPanel_objects_edgebase_dialog", "Select the Edge Base Color"},
368 	{"options_OptionsDialog_colorPanel_objects_element", "Elements:"},
369 	{"options_OptionsDialog_colorPanel_objects_element_dialog", "Select the Color for Element objects"},
370 	{"options_OptionsDialog_colorPanel_numbers_header", "Labelling"},
371 	{"options_OptionsDialog_colorPanel_numbers_boundary", "Boundary numbering:"},
372 	{"options_OptionsDialog_colorPanel_numbers_boundary_dialog", "Select the Color for Boundary numbers"},
373 	{"options_OptionsDialog_colorPanel_numbers_node", "Node Numbering:"},
374 	{"options_OptionsDialog_colorPanel_numbers_node_dialog", "Select the Color for Node numbers"},
375 	{"options_OptionsDialog_colorPanel_numbers_edge", "Edge numbering:"},
376 	{"options_OptionsDialog_colorPanel_numbers_edge_dialog", "Select the Color for Edge numbers"},
377 	{"options_OptionsDialog_colorPanel_numbers_element", "Element numbering:"},
378 	{"options_OptionsDialog_colorPanel_numbers_element_dialog", "Select the Color for Element number"},
379 	{"options_OptionsDialog_colorPanel_highlight_header", "Highlighting"},
380 	{"options_OptionsDialog_colorPanel_highlight_selection", "Selections:"},
381 	{"options_OptionsDialog_colorPanel_highlight_selection_dialog", "Select the Color for highlighting selections"},
382 	{"options_OptionsDialog_colorPanel_highlight_rect", "Rectified Elements:"},
383 	{"options_OptionsDialog_colorPanel_highlight_rect_dialog", "Select the Color for highlighting rectified elements"},
384 	{"options_OptionsDialog_colorPanel_misc_header", "Miscellaeous"},
385 	{"options_OptionsDialog_colorPanel_misc_grid", "Grid:"},
386 	{"options_OptionsDialog_colorPanel_misc_grid_dialog", "Select the Color for the background grid"},
387 	{"options_OptionsDialog_colorPanel_misc_background", "Background:"},
388 	{"options_OptionsDialog_colorPanel_misc_background_dialog", "Select the Color for the background"},
389 	{"options_OptionsDialog_colorPanel_misc_lasso", "Lasso:"},
390 	{"options_OptionsDialog_colorPanel_misc_lasso_dialog", "Select the Color for the lasso pointer"},
391 	{"options_OptionsDialog_colorPanel_fill_header", "Parallel Block Fill Colors"},
392 	{"options_OptionsDialog_colorPanel_fill0_dialog", "Select the first palette color for parallel blocks"},
393 	{"options_OptionsDialog_colorPanel_fill1_dialog", "Select the second palette color for parallel blocks"},
394 	{"options_OptionsDialog_colorPanel_fill2_dialog", "Select the third palette color for parallel blocks"},
395 	{"options_OptionsDialog_colorPanel_fill3_dialog", "Select the forth palette color for parallel blocks"},
396 	{"options_OptionsDialog_colorPanel_fill4_dialog", "Select the fifth palette color for parallel blocks"},
397 	{"options_OptionsDialog_colorPanel_fill5_dialog", "Select the sixth palette color for parallel blocks"},
398 	{"options_OptionsDialog_colorPanel_fill6_dialog", "Select the seventh palette color for parallel blocks"},
399 	{"options_OptionsDialog_colorPanel_fill7_dialog", "Select the eighth palette color for parallel blocks"},
400 	{"options_OptionsDialog_colorPanel_fill8_dialog", "Select the ninth palette color for parallel blocks"},
401 	{"options_OptionsDialog_colorPanel_fill9_dialog", "Select the tenth palette color for parallel blocks"},
402 	{"options_OptionsDialog_colorPanel_fill10_dialog", "Select the eleventh palette color for parallel blocks"},
403 	{"options_OptionsDialog_colorPanel_fill11_dialog", "Select the twelveth palette color for parallel blocks"},
404 	{"options_OptionsDialog_colorPanel_fill12_dialog", "Select the thirteenth palette color for parallel blocks"},
405 	{"options_OptionsDialog_colorPanel_fill13_dialog", "Select the fourteenth palette color for parallel blocks"},
406 	{"options_OptionsDialog_colorPanel_fill14_dialog", "Select the fifteenth palette color for parallel blocks"},
407 	{"options_OptionsDialog_colorPanel_fill15_dialog", "Select the sixteenth palette color for parallel blocks"},
408 	{"options_OptionsDialog_colorPanel_boundarypalette_header", "Boundary Palette Colors"},
409 	{"options_OptionsDialog_colorPanel_boundary0_dialog", "Select the first palette color for boundaries"},
410 	{"options_OptionsDialog_colorPanel_boundary1_dialog", "Select the second palette color for boundaries"},
411 	{"options_OptionsDialog_colorPanel_boundary2_dialog", "Select the third palette color for boundaries"},
412 	{"options_OptionsDialog_colorPanel_boundary3_dialog", "Select the fourth palette color for boundaries"},
413 	{"options_OptionsDialog_colorPanel_boundary4_dialog", "Select the fifth palette color for boundaries"},
414 	{"options_OptionsDialog_colorPanel_boundary5_dialog", "Select the sixth palette color for boundaries"},
415 	{"options_OptionsDialog_colorPanel_boundary6_dialog", "Select the seventh palette color for boundaries"},
416 	{"options_OptionsDialog_colorPanel_boundary7_dialog", "Select the eighth palette color for boundaries"},
417 	{"options_OptionsDialog_colorPanel_boundary8_dialog", "Select the nineth palette color for boundaries"},
418 	{"options_OptionsDialog_colorPanel_boundary9_dialog", "Select the tenth palette color for boundaries"},
419 	{"options_OptionsDialog_colorPanel_boundary10_dialog", "Select the eleventh palette color for boundaries"},
420 	{"options_OptionsDialog_colorPanel_boundary11_dialog", "Select the twelveth palette color for boundaries"},
421 	{"options_OptionsDialog_colorPanel_boundary12_dialog", "Select the thirteenth palette color for boundaries"},
422 	{"options_OptionsDialog_colorPanel_boundary13_dialog", "Select the fourteenth palette color for boundaries"},
423 	{"options_OptionsDialog_colorPanel_boundary14_dialog", "Select the fifteenth palette color for boundaries"},
424 	{"options_OptionsDialog_colorPanel_boundary15_dialog", "Select the sixteenth palette color for boundaries"},
425 
426 	// Accelerators tab
427 	{"options_OptionsDialog_acceleratorPanel_tabheader", "Keyboard Accelerators"},
428 	{"options_OptionsDialog_acceleratorPanel_tabheader_tooltip", "Set your own keyboard accelerators for application functions"},
429 	{"options_OptionsDialog_acceleratorPanel_southpaneltitle", "Modify current selection"},
430 	{"options_OptionsDialog_acceleratorPanel_tabletitle", "Current settings"},
431 	{"options_OptionsDialog_acceleratorPanel_tableleftcolumn", "Description"},
432 	{"options_OptionsDialog_acceleratorPanel_tablerightcolumn", "Accelerator"},
433 	{"options_OptionsDialog_acceleratorPanel_applybuttontooltip", "Assign the specified accelerator to the function above"},
434 	{"options_OptionsDialog_acceleratorPanel_applybuttonmnemonic", new Integer (KeyEvent.VK_P)},
435 	{"options_OptionsDialog_acceleratorPanel_removebutton", "Remove Accelerator"},
436 	{"options_OptionsDialog_acceleratorPanel_removebuttontooltip", "Assign NONE to the selected function, thus removing the accelerator assignment."},
437 	{"options_OptionsDialog_acceleratorPanel_removebuttonmnemonic", new Integer (KeyEvent.VK_E)},
438 	{"options_OptionsDialog_acceleratorPanel_nocorrectaccelerator", "The Accelerator you selected is not a valid one. \n See documentation for a full list of valid Accelerators."},
439 	{"options_OptionsDialog_acceleratorPanel_acceleratoralreadyinuse", "The Accelerator you selected is already assigned to another function. \n Please select another one."},
440 	{"options_OptionsDialog_acceleratorPanel_youmustselectarow", "Please select a row in the table above first. \n Otherwise no Accelerator can be mapped to a function."},
441 	// other tab
442 	{"options_OptionsDialog_otherPanel_tabheader", "Other"},
443 	{"options_OptionsDialog_otherPanel_tabheader_tooltip", "Everything that did't fit in somewhere else"},
444 	{"options_OptionsDialog_otherPanel_lookandfeel","Select Look&Feel"},
445 	{"options_OptionsDialog_otherPanel_lookandfeel_mnemonic", new Character ('K')},
446 	{"options_OptionsDialog_otherPanel_screenx","Window width"},
447 	{"options_OptionsDialog_otherPanel_screenx_mnemonic", new Character ('W')},
448 	{"options_OptionsDialog_otherPanel_screeny","Window height"},
449 	{"options_OptionsDialog_otherPanel_screeny_mnemonic", new Character ('H')},
450 	{"options_OptionsDialog_otherPanel_optionfileextension","Extension for the Options file"},
451 	{"options_OptionsDialog_otherPanel_optionfileextension_mnemonic", new Character ('O')},
452 
453 
454 	/* keys for class devisor2.GUI.dialogs.InfoDialog */
455 	{"GUI_dialogs_InfoDialog_frametitle", "About DeViSoRGrid2"},
456 	{"GUI_dialogs_InfoDialog_version", "Version"},
457 	{"GUI_dialogs_InfoDialog_developers", "Developers"},
458 	{"GUI_dialogs_InfoDialog_about", "General Information"},
459 	{"GUI_dialogs_InfoDialog_abouttext1", "DeViSoRGrid 2 is the preprocessing tool in the "},
460 	{"GUI_dialogs_InfoDialog_abouttext2", "FEAST software family. It works as a coarse grid "},
461 	{"GUI_dialogs_InfoDialog_abouttext3", "and mesh generator and allows you to define domains"},
462 	{"GUI_dialogs_InfoDialog_abouttext4", "and coarse grids via a simple point&click interface."},
463 	{"GUI_dialogs_InfoDialog_contact", "How to contact us"},
464 	{"GUI_dialogs_InfoDialog_contact_text1", "For further information and the latest updates,"},
465 	{"GUI_dialogs_InfoDialog_contact_text2", "please visit our homepage at "},
466 	{"GUI_dialogs_InfoDialog_contact_text3", "Or, send an email to the following adress:"},
467 
468 	/* tooltips for class devisor2.GUI.framework.ToolBar */
469 	{"GUI_framework_ToolBar_newtooltip", "Create a new, empty domain"},
470 	{"GUI_framework_ToolBar_opentooltip", "Open an existing domain"},
471 	{"GUI_framework_ToolBar_savetooltip", "Save Domain in current format"},
472 	{"GUI_framework_ToolBar_saveucdtooltip", "Save Domain in UCD format"},
473 	{"GUI_framework_ToolBar_savefeattooltip", "Save Domain in FEAT format"},
474 	{"GUI_framework_ToolBar_savefeasttooltip", "Save Domain in FEAST format"},
475 	{"GUI_framework_ToolBar_undotooltip", "Undo last action"},
476 	{"GUI_framework_ToolBar_redotooltip", "Redo last Undo"},
477 	{"GUI_framework_ToolBar_cuttooltip", "Cut selected items to clipboard"},
478 	{"GUI_framework_ToolBar_copytooltip", "Copy selected items to clipboard"},
479 	{"GUI_framework_ToolBar_pastetooltip", "Paste items from clipboard"},
480 	{"GUI_framework_ToolBar_selectnodestooltip", "Select nodes mask"},
481 	{"GUI_framework_ToolBar_selectelementstooltip", "Select elements mask"},
482 	{"GUI_framework_ToolBar_selectsegmentstooltip", "Selecting segments mask"},
483 	{"GUI_framework_ToolBar_selectedgestooltip", "Selecting edges mask"},
484 	{"GUI_framework_ToolBar_selectboundarytooltip", "Select the boundary to work on"},
485 	{"GUI_framework_ToolBar_setzoomtooltip", "Set Zoom Level"},
486 	{"GUI_framework_ToolBar_resetzoomtooltip", "Default Zoom Level"},
487 	{"GUI_framework_ToolBar_zoomintooltip", "Zoom In"},
488 	{"GUI_framework_ToolBar_zoomouttooltip", "Zoom Out"},
489 	{"GUI_framework_ToolBar_directinputtooltip", "Toggle Direct Input Mode"},
490 	{"GUI_framework_ToolBar_copymodetooltip", "Change Copy Mode for Segments"},
491 	{"GUI_framework_ToolBar_newboundarytooltip", "Create a new Boundary Container"},
492 	{"GUI_framework_ToolBar_addtypetooltip", "Choose the item to be added"},
493 	{"GUI_framework_ToolBar_addnothingtooltip", "Currently adding nothing."},
494 	{"GUI_framework_ToolBar_addclipboardtooltip", "Currently adding items from the clipboard."},
495 	{"GUI_framework_ToolBar_addlinetooltip", "Currently adding Line segments."},
496 	{"GUI_framework_ToolBar_addmultilinetooltip", "Currently adding MultiLine segments."},
497 	{"GUI_framework_ToolBar_addcircleptooltip", "Currently adding Circle+ segments."},
498 	{"GUI_framework_ToolBar_addcirclemtooltip", "Currently adding Circle- segments."},
499 	{"GUI_framework_ToolBar_addtritooltip", "Currently adding Tri elements."},
500 	{"GUI_framework_ToolBar_addquadtooltip", "Currently adding Quad elements."},
501 	{"GUI_framework_ToolBar_addmacrotooltip", "Currently adding Macro elements."},
502 	{"GUI_framework_ToolBar_addnodetooltip", "Currently adding Nodes."},
503 
504 	{"GUI_framework_ToolBar_addtypestooltip", "Select the Type of Segments or Elements you want to add to the Domain"},
505 	{"GUI_framework_ToolBar_propertiestooltip", "Switch to Property Query Mode"},
506 	{"GUI_framework_ToolBar_edgestatustooltip", "Set Edge Status"},
507 	{"GUI_framework_ToolBar_parallelblocktooltip", "Set Parallel Blocks"},
508 	{"GUI_framework_ToolBar_rectifyelementtooltip", "Rectify Elements"},
509 	{"GUI_framework_ToolBar_exittooltip", "Exit DeViSoRGrid 2"},
510 
511 	/* keys for class devisor2.GUI.framework.MainFrame */
512 	{"GUI_framework_Mainframe_frametitle", "DeViSoRGrid2 - Preprocessing for the FEAST Software Family"},
513 
514 	/* keys for class devisor2.GUI.help.HelpFrame */
515 	{"GUI_help_HelpFrame_frametitle", "DeViSoRGrid2 Online Manual"},
516 
517 	/* keys for class devisor2.GUI.help.FAQFrame */
518 	{"GUI_help_FAQFrame_frametitle", "DeViSoRGrid2 Frequently Asked Questions"},
519 
520 	/* keys for the FilePickerFilter class */
521 	{"GUI_dialogs_FilePickerFilter_description_ucd", "Files in UCD format (.inp)"},
522 	{"GUI_dialogs_FilePickerFilter_description_feat", "Files in FEAT format (.prm, .tri)"},
523 	{"GUI_dialogs_FilePickerFilter_description_feast", "Files in FEAST format (.feast)"},
524 	{"GUI_dialogs_FilePickerFilter_description_all", "All files"},
525 	{"GUI_dialogs_FilePickerFilter_description_directories", "Only directories are accepted"},
526 	{"GUI_dialogs_FilePickerFilter_description_binaries", "executable Files"},
527 	{"GUI_dialogs_FilePickerFilter_description_ps", "PostScript-Files"},
528 
529 	{"GUI_dialogs_FilePickerFilter_description_default", "All supported files (.inp, .prm, .tri, .feast)"},
530 
531 	/* keys for the EDGE STATUS dialog */
532 	{"dialogs_edgestatus_title", "Edge Status"},
533 	{"dialogs_edgestatus_status_caption", "Edge Status"},
534 	{"dialogs_edgestatus_status_none", "None"},
535 	{"dialogs_edgestatus_status_real", "Real"},
536 	{"dialogs_edgestatus_status_inner", "Inner"},
537 	{"dialogs_edgestatus_status_mirror", "Mirror"},
538 	{"dialogs_edgestatus_bc_caption", "Boundary Condition"},
539 	{"dialogs_edgestatus_bc_dirichlet", "Dirichlet"},
540 	{"dialogs_edgestatus_bc_neumann", "Neumann"},
541 	{"dialogs_edgestatus_bc_none", "None"},
542 	{"dialogs_edgestatus_close", "Close"},
543 	{"dialogs_edgestatus_close_tooltip", "Finish setting edge stati"},
544 	{"dialogs_edgestatus_close_mnemonic", new Integer (KeyEvent.VK_C)},
545 	{"dialogs_edgestatus_apply", "Apply"},
546 	{"dialogs_edgestatus_apply_tooltip", "Applying edge stati"},
547 	{"dialogs_edgestatus_apply_mnemonic", new Integer (KeyEvent.VK_A)},	{"dialogs_edgestatus_automatic", "Automatic Setting"},
548 	{"dialogs_edgestatus_automatic_tooltip", "Set edge stati automatically"},
549 	{"dialogs_edgestatus_automatic_mnemonic", new Integer (KeyEvent.VK_A)},
550 	/* keys for the PARALLELBLOCK dialog */
551 	{"dialogs_parallelblock_title", "ParallelBlock & Macro Refinement"},
552 	{"dialogs_parallelblock_apply", "Apply"},
553 	{"dialogs_parallelblock_apply_tooltip", "Apply these settings to the selected macro element"},
554 	{"dialogs_parallelblock_apply_mnemonic", new Integer (KeyEvent.VK_A)},
555 	{"dialogs_parallelblock_close", "Close"},
556 	{"dialogs_parallelblock_close_tooltip", "Close the dialog"},
557 	{"dialogs_parallelblock_close_mnemonic", new Integer (KeyEvent.VK_C)},
558 	{"dialogs_parallelblock_automatic", "Automatic"},
559 	{"dialogs_parallelblock_automatic_tooltip", "Set Parallel Blocks automatically"},
560 	{"dialogs_parallelblock_automatic_mnemonic", new Integer (KeyEvent.VK_U)},
561 	{"dialogs_parallelblock_parallelblock", "Parallel Block"},
562 	{"dialogs_parallelblock_matrixblock", "Matrix Block"},
563 	{"dialogs_parallelblock_macrorefinement", "Macro Refinement Level"},
564 	{"dialogs_parallelblock_anisotrophy_x", "Macro X Anisotrophy"},
565 	{"dialogs_parallelblock_anisotrophy_x_none", "None"},
566 	{"dialogs_parallelblock_anisotrophy_x_left", "Left"},
567 	{"dialogs_parallelblock_anisotrophy_x_right", "Right"},
568 	{"dialogs_parallelblock_anisotrophy_y", "Macro Y Anisotrophy"},
569 	{"dialogs_parallelblock_anisotrophy_y_none", "None"},
570 	{"dialogs_parallelblock_anisotrophy_y_down", "Down"},
571 	{"dialogs_parallelblock_anisotrophy_y_up", "Up"},
572 	{"dialogs_parallelblock_factors", "Macro Refinement Factors"},
573 
574 	/* keys for the REFINE dialog */
575 	{"dialogs_refine_title", "Automatic Refinement Parameters"},
576 	{"dialogs_refine_apply", "Apply"},
577 	{"dialogs_refine_apply_tooltip", "Start TRIGEN2D with these parameters"},
578 	{"dialogs_refine_apply_mnemonic", new Integer (KeyEvent.VK_A)},
579 	{"dialogs_refine_close", "Close"},
580 	{"dialogs_refine_close_tooltip", "Finish automatic refinement"},
581 	{"dialogs_refine_close_mnemonic", new Integer (KeyEvent.VK_C)},
582 	{"dialogs_refine_type", "Refinement Technique"},
583 	{"dialogs_refine_no", "No adaptive Refinement"},
584 	{"dialogs_refine_delma33", "3x3 Refinement with DELMA"},
585 	{"dialogs_refine_boundary3", "3 Boundary Refinement with DELMA/DELMB"},
586 	{"dialogs_refine_boundary2", "2 Boundary Refinement with DELMA"},
587 	{"dialogs_refine_boundarynormal", "3 Boundary Normal Refinement with DELMA"},
588 	{"dialogs_refine_delma5", "5 Refinement with DELMA"},
589 	{"dialogs_refine_corner", "3 Corner Refinement with DELMA"},
590 	{"dialogs_refine_parameters", "Refinement Parameters"},
591 	{"dialogs_refine_parameter1", "First Parameter:"},
592 	{"dialogs_refine_parameter2", "Second Parameter:"},
593 	{"dialogs_refine_level", "Level to Resize:"},
594 
595 	/* keys for the loadbalancing dialog */
596 	{"dialogs_loadbalancing_title", "LoadBalancing"},
597 	{"dialogs_loadbalancing_mpi2sol", "MPI2SOL path:"},
598 	{"dialogs_loadbalancing_filename", "Filename:"},
599 	{"dialogs_loadbalancing_calc", "Calculate"},
600 	{"dialogs_loadbalancing_calc_mnemonic", new Integer (KeyEvent.VK_A)},
601 	{"dialogs_loadbalancing_perform", "Perform"},
602 	{"dialogs_loadbalancing_perform_mnemonic", new Integer (KeyEvent.VK_P)},
603 
604 	/* keys for the line dialog */
605 	{"dialogs_line_caption_direct", "Direct Line Input"},
606 	{"dialogs_line_caption_property", "Line Properties"},
607 	{"dialogs_line_startpoint", "Start Coordinates:"},
608 	{"dialogs_line_endpoint", "End Coordinates:"},
609 	{"dialogs_line_error_x1", "The edit field for the start point X coordinate \n does not contain a valid input."},
610 	{"dialogs_line_error_y1", "The edit field for the start point Y coordinate \n does not contain a valid input."},
611 	{"dialogs_line_error_x2", "The edit field for the end point X coordinate \n does not contain a valid input."},
612 	{"dialogs_line_error_y2", "The edit field for the end point Y coordinate \n does not contain a valid input."},
613 
614 	/* keys for the MultipleBNDialog */
615 	{"dialogs_multiplebn_title","Multiple Boundary Nodes"},
616 	{"dialogs_multiplebn_boundary","Boundary:"},
617 	{"dialogs_multiplebn_maxpar","MaxPar:"},
618 	{"dialogs_multiplebn_increment","Increment:"},
619 	{"dialogs_multiplebn_start","StartPar:"},
620 	{"dialogs_multiplebn_end","EndPar:"},
621 	{"dialogs_multiplebn_error_boundary", "The Boundary textfield does not contain an Integer!"},
622 	{"dialogs_multiplebn_error_increment","The increment texifield does not contain a valid Double."},
623 	{"dialogs_multiplebn_error_start","The start parameter value texifield does not contain a valid Double."},
624 	{"dialogs_multiplebn_error_end","The end parameter value texifield does not contain a valid Double."},
625 	{"dialogs_multiplebn_error_nosuchboundary","The Domain does not contain a Boundary with that Number!"},
626 	{"dialogs_multiplebn_error_starttoosmall","The start parameter value you requested is too small.\nRemember: Only numbers from 0 upwards are possible."},
627 	{"dialogs_multiplebn_error_endtoobig", "The end parameter value you requested is too big.\nRemember: Only numbers up to the displayed maximal value are possible."},
628 
629 
630 	/* keys for the circle dialog */
631 	{"dialogs_circle_caption_direct_p", "Direct CircleP Input"},
632 	{"dialogs_circle_caption_direct_m", "Direct CircleM Input"},
633 	{"dialogs_circle_caption_property_p", "CircleP Properties"},
634 	{"dialogs_circle_caption_property_m", "CircleM Properties"},
635 	{"dialogs_circle_center", "Center: "},
636 	{"dialogs_circle_radius", "Radius: "},
637 	{"dialogs_circle_startangle", "Start Angle: "},
638 	{"dialogs_circle_endangle", "End Angle: "},
639 	{"dialogs_circle_error_x", "The edit field for the center X coordinate \n does not contain a valid input."},
640 	{"dialogs_circle_error_y", "The edit field for the center Y coordinate\n does not contain a valid input."},
641 	{"dialogs_circle_error_radius", "The edit field for the radius \n does not contain a valid input."},
642 	{"dialogs_circle_error_start", "The edit field for the start angle \n does not contain a valid input."},
643 	{"dialogs_circle_error_end", "The edit field for the end angle \n does not contain a valid input."},
644 	{"dialogs_circle_error_orientation", "This circle would have the wrong orientation.\n Make sure the start and end angles are correct."},
645 
646 	/* keys for the BoundaryNodeDialog */
647 	{"dialogs_boundarynode_caption_direct", "Direct Node Input"},
648 	{"dialogs_boundarynode_caption_property", "Node Properties"},
649 	{"dialogs_boundarynode_boundary", "Boundary: "},
650 	{"dialogs_boundarynode_segment", "Segment: "},
651 	{"dialogs_boundarynode_maxpar", "t-Max: "},
652 	{"dialogs_boundarynode_actpar", "t-Act "},
653 	{"dialogs_boundarynode_editcheck", "Edit last added BN"},
654 	{"dialogs_boundarynode_coord", "Coordinates: "},
655 	{"dialogs_boundarynode_nodeprop", "Nodal Property: "},
656 	{"dialogs_boundarynode_createboundary", "Create Boundary Node"},
657 	{"dialogs_boundarynode_fastforward", ">>"},
658 	{"dialogs_boundarynode_fastforward_tooltip", "large increment"},
659 	{"dialogs_boundarynode_forward", ">"},
660 	{"dialogs_boundarynode_forward_tooltip", "small increment"},
661 	{"dialogs_boundarynode_rewind", "<"},
662 	{"dialogs_boundarynode_rewind_tooltip", "small decrement"},
663 	{"dialogs_boundarynode_fastrewind", "<<"},
664 	{"dialogs_boundarynode_fastrewind_tooltip", "large decrement"},
665 	{"dialogs_boundarynode_para_tabheader", "Parametric Description"},
666 	{"dialogs_boundarynode_coord_tabheader", "Cartesian Description"},
667 	{"dialogs_boundarynode_para_tooltip", "Edit the parametric description of this BoundaryNode"},
668 	{"dialogs_boundarynode_coord_tooltip", "Edit the cartesian description of this BoundaryNode"},
669 	{"dialogs_boundarynode_error_coord_x", "The edit field for the X coordinate \n does not contain a valid input."},
670 	{"dialogs_boundarynode_error_coord_y", "The edit field for the Y coordinate \n does not contain a valid input."},
671 	{"dialogs_boundarynode_error_nodeprop", "The edit field for the nodal property \n does not contain a valid input."},
672 	{"dialogs_boundarynode_error_actpar", "The edit field for the act. parameter value \n does not contain a valid input."},
673 	{"dialogs_boundarynode_error_boundnum", "The edit field for the boundary number \n does not contain a valid input."},
674 	{"dialogs_boundarynode_error_boundrange", "The edit field for the boundary number \n does not contain a valid input. \n There is no boundary with that number!"},
675 	{"dialogs_boundarynode_error_actrange", "The edit field for the act. parameter \n does not contain a valid input. \n The value is not within the allowed range!"},
676 	{"dialogs_boundarynode_error_editlast", "There is no node to be perform changes on. \n Try adding a node first before changing its values again!."},
677 	{"dialogs_boundarynode_error_usepara", "Use Parametrisation"},
678 	{"dialogs_boundarynode_error_useparatext", "It is not allowed to create or change \n Boundary Nodes via cartesian description."},
679 	{"dialogs_boundarynode_error_para", "Parametrisation Error"},
680 	{"dialogs_boundarynode_error_regularparametric", "Only boundary nodes have a parametric description!"},
681 
682 	/* keys for PerimeterDialog */
683 	{"dialogs_perimeter_title", "Domain perimeter"},
684 	{"dialogs_perimeter_x1", "Topleft corner     "},
685 	{"dialogs_perimeter_x2", "Bottomright corner "},
686 	{"dialogs_perimeter_error_x1", "The edit field for the topleft x value \n does not contain a valid input."},
687 	{"dialogs_perimeter_error_y1", "The edit field for the topleft y value \n does not contain a valid input."},
688 	{"dialogs_perimeter_error_x2", "The edit field for the bottomright x value \n does not contain a valid input."},
689 	{"dialogs_perimeter_error_y2", "The edit field for the bottomright y value \n does not contain a valid input."},
690 
691 
692 
693 
694 	/* keys for the QuadDialog */
695 	{"dialogs_quad_caption_direct", "Direct Quad Input"},
696 	{"dialogs_quad_caption_property", "Quad Properties"},
697 	{"dialogs_quad_node1", "Node 1:"},
698 	{"dialogs_quad_node2", "Node 2:"},
699 	{"dialogs_quad_node3", "Node 3:"},
700 	{"dialogs_quad_node4", "Node 4:"},
701 	{"dialogs_quad_error_node1", "The edit field for the first node \n does not contain a valid input."},
702 	{"dialogs_quad_error_node2", "The edit field for the second node \n does not contain a valid input."},
703 	{"dialogs_quad_error_node3", "The edit field for the third node \n does not contain a valid input."},
704 	{"dialogs_quad_error_node4", "The edit field for the fourth node \n does not contain a valid input."},
705 
706 	/* keys for the Macro Dialog */
707 	{"dialogs_macro_caption_direct", "Direct Macro Input"},
708 	{"dialogs_macro_caption_property", "Macro Properties"},
709 	{"dialogs_macro_nodes_tabheader", "Nodes"},
710 	{"dialogs_macro_nodes_tooltip", "Edit Nodes that define this Macro"},
711 	{"dialogs_macro_blocks_tabheader", "Parallel"},
712 	{"dialogs_macro_blocks_tooltip", "Edit Parallel Computing Information of this Macro"},
713 	{"dialogs_macro_parallelblock", "Parallel Block"},
714 	{"dialogs_macro_matrixblock", "Matrix Block"},
715 	{"dialogs_macro_macrorefinement", "Macro Refinement Level"},
716 	{"dialogs_macro_anisotrophy_x", "Macro X Anisotrophy"},
717 	{"dialogs_macro_anisotrophy_x_none", "None"},
718 	{"dialogs_macro_anisotrophy_x_left", "Left"},
719 	{"dialogs_macro_anisotrophy_x_right", "Right"},
720 	{"dialogs_macro_anisotrophy_y", "Macro Y Anisotrophy"},
721 	{"dialogs_macro_anisotrophy_y_none", "None"},
722 	{"dialogs_macro_anisotrophy_y_down", "Down"},
723 	{"dialogs_macro_anisotrophy_y_up", "Up"},
724 	{"dialogs_macro_factors", "Macro Refinement Factors"},
725 	{"dialogs_macro_node1", "Node 1:"},
726 	{"dialogs_macro_node2", "Node 2:"},
727 	{"dialogs_macro_node3", "Node 3:"},
728 	{"dialogs_macro_node4", "Node 4:"},
729 	{"dialogs_macro_error_node1", "The edit field for the first node \n does not contain a valid input."},
730 	{"dialogs_macro_error_node2", "The edit field for the second node \n does not contain a valid input."},
731 	{"dialogs_macro_error_node3", "The edit field for the third node \n does not contain a valid input."},
732 	{"dialogs_macro_error_node4", "The edit field for the fourth node \n does not contain a valid input."},
733 	{"dialogs_macro_error_pb", "The edit field for the parallel block \n does not contain a valid input."},
734 	{"dialogs_macro_error_ref", "The edit field for the refinement level \n does not contain a valid input."},
735 	{"dialogs_macro_error_mb", "The edit field for the matrix block \n does not contain a valid input."},
736 	{"dialogs_macro_error_factors", "The edit fields for the refinement factors \n do not contain valid inputs."},
737 
738 	/* keys for the TriDialog */
739 	{"dialogs_tri_caption_direct", "Direct Tri Input"},
740 	{"dialogs_tri_caption_property", "Tri Properties"},
741 	{"dialogs_tri_node1", "Node 1:"},
742 	{"dialogs_tri_node2", "Node 2:"},
743 	{"dialogs_tri_node3", "Node 3:"},
744 	{"dialogs_tri_error_node1", "The edit field for the first node \n does not contain a valid input."},
745 	{"dialogs_tri_error_node2", "The edit field for the second node \n does not contain a valid input."},
746 	{"dialogs_tri_error_node3", "The edit field for the third node \n does not contain a valid input."},
747 	{"dialogs_tri_error_nodeorientation", "The nodes you selected are not orientated correctly!"},
748 	{"dialogs_tri_error_samenodes", "Beware: All nodes must be different!"},
749 
750 	/* keys for the RotateDialog */
751 	{"dialogs_rotate_caption", "Rotate Selected Items"},
752 	{"dialogs_rotate_label", "Rotate angle:"},
753 	{"dialogs_rotate_error", "Enter a valid angle in DEGREES!"},
754 	{"dialogs_rotate_nodes_error", "You are not trying to rotate only nodes aren't you?"},
755 
756 	/* keys for the ScaleDialog */
757 	{"dialogs_scale_caption", "Scale Selected Items"},
758 	{"dialogs_scale_x", "Factor in x direction:"},
759 	{"dialogs_scale_y", "Factor in y direction:"},
760 	{"dialogs_scale_x_error", "No valid scale factor in x direction"},
761 	{"dialogs_scale_y_error", "No valid scale factor in y direction"},
762 	{"dialogs_scale_nodes_error", "You are not trying to scale only nodes aren't you?"},
763 	{"dialogs_scale_circles_error", "Circles must only be scaled uniformly!"},
764 
765 	/* keys for MirrorDialog */
766 	{"dialogs_mirror_caption", "Mirror Selected Items"},
767 	{"dialogs_mirror_start", "Start Coordinates of Mirror Line"},
768 	{"dialogs_mirror_end", "End Coordinates of Mirror Line"},
769 	{"dialogs_mirror_x1_error", "Something is wrong with the start coordinates.\nMake sure to use user coordinates."},
770 	{"dialogs_mirror_y1_error", "Something is wrong with the start coordinates.\nMake sure to use user coordinates."},
771 	{"dialogs_mirror_x2_error", "Something is wrong with the end coordinates.\nMake sure to use user coordinates."},
772 	{"dialogs_mirror_y2_error", "Something is wrong with the end coordinates.\nMake sure to use user coordinates."},
773 
774 	/* keys for the ChangeBoundaryDialog */
775 	{"dialogs_changeb_caption", "Select working Boundary"},
776 	{"dialogs_changeb_label", "Working Boundary: "},
777 	{"dialogs_changeb_error_nobounds", "The domain does not contain any bondaries at all.\nSo where's the point in changing the working boundary?"},
778 
779 	/* keys for the TEXTFRAME dialog */
780 	{"dialogs_textframe_tooltip", "Click to Close the Dialog"},
781 	{"dialogs_textframe_loaderror_title", "Text Error"},
782 	{"dialogs_textframe_loaderror_message", "error Parsing the designated text"},
783 
784 	/* keys for the GRIDLISTENER */
785 	{"gridlistener_error_nonodehit", "No node has been hit. \n Remember: To add elements, you have to add nodes first"},
786 	{"gridlistener_error_radiuszero", "Circles with radius zero are not allowed!"},
787 	{"gridlistener_error_noboundary", "Beware: There is no Boundary to add Segments to.\n To add some, add a Boundary first."},
788 	{"gridlistener_error_boundarymove", "Boundary Nodes must not be moved around on the Grid. \nUse the dialog instead!"},
789 	{"gridlistener_error_nosegments", "Beware: There are no Segments to add BoundaryNodes to.\n To add some, add a Boundary and Segments first."},
790 	{"gridlistener_error_nodeorientation", "The nodes you selected are not correctly orientated.\nNo element has been added."},
791 	{"gridlistener_error_nodetwicehit", "Beware: You hit the same node twice!\nThis is very very illegal.\nNo element has been added."},
792 	{"gridlistener_error_samepointtwice", "Beware: A line is not a point! \nPlease don't hit the same point twice!"},
793 	{"gridlistener_error_clone", "Unrecoverable Error while pasting BoundaryNodes.\nSorry, fix nodes and elements manually."},
794 
795 	/* keys for the ContBoundary */
796 	{"continousBoundary_startmessage", "continuousBoundary: starting ..."},
797 	{"continousBoundary_procboundary", "Processing Boundary "},
798 	{"continousBoundary_procsegment", "  Processing Segment "},
799 	{"continousBoundary_bonderror", "  Couldn't continousize boundary, try to swap"},
800 	{"continousBoundary_segfound", "  Corresponding segment found, swapping"},
801 	{"continousBoundary_error", "ERROR: No continous conjunction possible!"},
802 	{"continousBoundary_action1", "  Cont.Action: Adjust startpoint"},
803 	{"continousBoundary_action2", "  Cont.Action: Adjust and swap startpoint"},
804 	{"continousBoundary_ok", "SUCCESS: Boundaries adjusted!"},
805 
806 	/* keys for the swapOrientation */
807 	{"swapOrientation_startmessage", "Swap orientation: starting ..."},
808 	{"swapOrientation_procsegment", "  Processing Segment "},
809 	{"swapOrientation_change1", "  Changing Segment "},
810 	{"swapOrientation_change2", " with "},
811 	{"swapOrientation_procnode", "Processing Node "},
812 	{"swapOrientation_ok", "SUCCESS: Working boundary orientation changed!"},
813 
814 	/* keys for the mode display in the statusbar */
815 	{"modedisplay_mode", "Mode"},
816 	{"modedisplay_zooming", "Zooming"},
817 	{"modedisplay_drawing", "Drawing"},
818 	{"modedisplay_edgestatus", "Setting Edge Stati"},
819 	{"modedisplay_parallelblocks", "Setting Parallelblocks"},
820 	{"modedisplay_propertyquery", "Property Queries"},
821 	{"modedisplay_refine", "Refining"},
822 	{"modedisplay_rectify", "Rectifying"},
823 	{"modedisplay_mirror", "Mirroring"},
824 	{"modedisplay_none", "no Mode"},
825 	{"modedisplay_adding", "Adding"},
826 	{"modedisplay_nodes", "Nodes"},
827 	{"modedisplay_lines", "Lines"},
828 	{"modedisplay_multilines", "Multilines"},
829 	{"modedisplay_circlep", "Circle+"},
830 	{"modedisplay_circlem", "Circle-"},
831 	{"modedisplay_clipboard", "Clipboard Contents"},
832 	{"modedisplay_tris", "Tris"},
833 	{"modedisplay_quads", "Quads"},
834 	{"modedisplay_macros", "Macros"},
835 	{"modedisplay_selecting", "Selecting"},
836 	{"modedisplay_edges", "Edges"},
837 	{"modedisplay_elements", "Elements"},
838 	{"modedisplay_segments", "Segments"},
839 	{"modedisplay_copymode_append", "Copymode: Append"},
840 	{"modedisplay_copymode_keep", "Copymode: Keep Structure"},
841 
842 	/* keys for the spellchecker package */
843 	{"spellchecker_dialog_title", "SpellChecker"},
844 	{"spellchecker_dialog_settings_tabheader", "Settings"},
845 	{"spellchecker_dialog_settings_tabheader_tooltip", "Select which types of spelling errors are corrected."},
846 	{"spellchecker_dialog_table_tabheader", "List"},
847 	{"spellchecker_dialog_table_tabheader_tooltip", "View list of spelling errors."},
848 	{"spellchecker_dialog_closebutton_tooltip", "Close the SpellChecker dialog"},
849 	{"spellchecker_dialog_isolatednodes", "Isolated nodes"},
850 	{"spellchecker_dialog_innerangles", "Elements with inner angles less than "},
851 	{"spellchecker_dialog_aspectratios", "Elements with aspect ratios greater than "},
852 	{"spellchecker_dialog_neighbouring", "Neighbouring elements with size difference greater than "},
853 	{"spellchecker_dialog_discontinous", "Discontinous boundary parametrisation"},
854 	{"spellchecker_dialog_nonconforming", "Nonconforming elements"},
855 	{"spellchecker_dialog_zoom", "Zoom in"},
856 	{"spellchecker_dialog_zoom_tooltip", "This centers the view on the selected item."},
857 	{"spellchecker_dialog_zoom_mnemonic", new Integer (KeyEvent.VK_Z)},
858 	{"spellchecker_dialog_remove", "Remove"},
859 	{"spellchecker_dialog_remove_tooltip", "Remove the selected item from the list."},
860 	{"spellchecker_dialog_remove_mnemonic", new Integer (KeyEvent.VK_R)},
861 	{"spellchecker_dialog_refresh", "Refresh"},
862 	{"spellchecker_dialog_refresh_tooltip", "Refresh the list."},
863 	{"spellchecker_dialog_refresh_mnemonic", new Integer (KeyEvent.VK_F)},
864 	{"spellchecker_dialog_moreinfo", "More info ..."},
865 	{"spellchecker_dialog_moreinfo_tooltip", "Show detailed information about the selected item."},
866 	{"spellchecker_dialog_moreinfo_mnemonic", new Integer (KeyEvent.VK_I)},
867 	{"spellchecker_dialog_error_innerangles", "The threshold field for inner angles does not contain a valid angle (in degrees).\nInner angles will be omitted."},
868 	{"spellchecker_dialog_error_aspectratio", "The threshold fields for aspect ratios do not contain valid double values.\nAspect ratios will be omitted."},
869 	{"spellchecker_dialog_error_neighbouring", "The threshold field for size difference does not contain a valid double value.\nNeighbouring elements will be omitted."},
870 	{"spellchecker_dialog_error_noselection", "Nothing is selected in the list!\nSelect an entry first."},
871 
872 
873 	{"spellchecker_tablemodel_columnheader_type", "Type"},
874 	{"spellchecker_tablemodel_columnheader_number", "Number"},
875 	{"spellchecker_tablemodel_isolatednode", "Isolated Node"},
876 	{"spellchecker_tablemodel_innerangle", "Critical Inner Angle"},
877 	{"spellchecker_tablemodel_aspectratio", "Large Aspect Ratio"},
878 	{"spellchecker_tablemodel_neighbours", "Area Difference"},
879 
880 	/* keys for the MergeBoundariesDialog */
881 	{"dialogs_mergeboundaries_caption", "Merge two boundaries"},
882 	{"dialogs_mergeboundaries_targetlabel", "Target boundary:"},
883 	{"dialogs_mergeboundaries_targettooltip", "Select the boundary you want to insert INTO"},
884 	{"dialogs_mergeboundaries_sourcelabel", "Source boundary"},
885 	{"dialogs_mergeboundaries_sourcetooltip","Select the boundary you want to dissolve."},
886 	{"dialogs_mergeboundaries_error_sameboundaries", "It is impossible to merge identical boundaries!"},
887 
888     };
889 
890 
891 }
892 
893