diff options
Diffstat (limited to 'source/blender/windowmanager/intern/wm_operators.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 147 |
1 files changed, 74 insertions, 73 deletions
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index 06d049d2cb5..f8bf4ed57bf 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -77,6 +77,7 @@ #include "BIF_gl.h" #include "BIF_glutil.h" /* for paint cursor */ +#include "BLF_api.h" #include "IMB_imbuf_types.h" @@ -346,7 +347,7 @@ wmOperatorType *WM_operatortype_append_macro(const char *idname, const char *nam ot->poll= NULL; if(!ot->description) - ot->description= "(undocumented operator)"; + ot->description= _("(undocumented operator)"); RNA_def_struct_ui_text(ot->srna, ot->name, ot->description); // XXX All ops should have a description but for now allow them not to. RNA_def_struct_identifier(ot->srna, ot->idname); @@ -371,7 +372,7 @@ void WM_operatortype_append_macro_ptr(void (*opfunc)(wmOperatorType*, void*), vo ot->poll= NULL; if(!ot->description) - ot->description= "(undocumented operator)"; + ot->description= _("(undocumented operator)"); opfunc(ot, userdata); @@ -766,7 +767,7 @@ int WM_operator_confirm_message(bContext *C, wmOperator *op, const char *message else properties= NULL; - pup= uiPupMenuBegin(C, "OK?", ICON_QUESTION); + pup= uiPupMenuBegin(C, _("OK?"), ICON_QUESTION); layout= uiPupMenuLayout(pup); uiItemFullO(layout, op->type->idname, message, ICON_NONE, properties, WM_OP_EXEC_REGION_WIN, 0); uiPupMenuEnd(C, pup); @@ -799,47 +800,47 @@ void WM_operator_properties_filesel(wmOperatorType *ot, int filter, short type, if(flag & WM_FILESEL_FILEPATH) - RNA_def_string_file_path(ot->srna, "filepath", "", FILE_MAX, "File Path", "Path to file"); + RNA_def_string_file_path(ot->srna, "filepath", "", FILE_MAX, _("File Path"), _("Path to file")); if(flag & WM_FILESEL_DIRECTORY) - RNA_def_string_dir_path(ot->srna, "directory", "", FILE_MAX, "Directory", "Directory of the file"); + RNA_def_string_dir_path(ot->srna, "directory", "", FILE_MAX, _("Directory"), _("Directory of the file")); if(flag & WM_FILESEL_FILENAME) - RNA_def_string_file_name(ot->srna, "filename", "", FILE_MAX, "File Name", "Name of the file"); + RNA_def_string_file_name(ot->srna, "filename", "", FILE_MAX, _("File Name"), _("Name of the file")); if (action == FILE_SAVE) { - prop= RNA_def_boolean(ot->srna, "check_existing", 1, "Check Existing", "Check and warn on overwriting existing files"); + prop= RNA_def_boolean(ot->srna, "check_existing", 1, _("Check Existing"), _("Check and warn on overwriting existing files")); RNA_def_property_flag(prop, PROP_HIDDEN); } - prop= RNA_def_boolean(ot->srna, "filter_blender", (filter & BLENDERFILE), "Filter .blend files", ""); + prop= RNA_def_boolean(ot->srna, "filter_blender", (filter & BLENDERFILE), _("Filter .blend files"), ""); RNA_def_property_flag(prop, PROP_HIDDEN); - prop= RNA_def_boolean(ot->srna, "filter_image", (filter & IMAGEFILE), "Filter image files", ""); + prop= RNA_def_boolean(ot->srna, "filter_image", (filter & IMAGEFILE), _("Filter image files"), ""); RNA_def_property_flag(prop, PROP_HIDDEN); - prop= RNA_def_boolean(ot->srna, "filter_movie", (filter & MOVIEFILE), "Filter movie files", ""); + prop= RNA_def_boolean(ot->srna, "filter_movie", (filter & MOVIEFILE), _("Filter movie files"), ""); RNA_def_property_flag(prop, PROP_HIDDEN); - prop= RNA_def_boolean(ot->srna, "filter_python", (filter & PYSCRIPTFILE), "Filter python files", ""); + prop= RNA_def_boolean(ot->srna, "filter_python", (filter & PYSCRIPTFILE), _("Filter python files"), ""); RNA_def_property_flag(prop, PROP_HIDDEN); - prop= RNA_def_boolean(ot->srna, "filter_font", (filter & FTFONTFILE), "Filter font files", ""); + prop= RNA_def_boolean(ot->srna, "filter_font", (filter & FTFONTFILE), _("Filter font files"), ""); RNA_def_property_flag(prop, PROP_HIDDEN); - prop= RNA_def_boolean(ot->srna, "filter_sound", (filter & SOUNDFILE), "Filter sound files", ""); + prop= RNA_def_boolean(ot->srna, "filter_sound", (filter & SOUNDFILE), _("Filter sound files"), ""); RNA_def_property_flag(prop, PROP_HIDDEN); - prop= RNA_def_boolean(ot->srna, "filter_text", (filter & TEXTFILE), "Filter text files", ""); + prop= RNA_def_boolean(ot->srna, "filter_text", (filter & TEXTFILE), _("Filter text files"), ""); RNA_def_property_flag(prop, PROP_HIDDEN); - prop= RNA_def_boolean(ot->srna, "filter_btx", (filter & BTXFILE), "Filter btx files", ""); + prop= RNA_def_boolean(ot->srna, "filter_btx", (filter & BTXFILE), _("Filter btx files"), ""); RNA_def_property_flag(prop, PROP_HIDDEN); - prop= RNA_def_boolean(ot->srna, "filter_collada", (filter & COLLADAFILE), "Filter COLLADA files", ""); + prop= RNA_def_boolean(ot->srna, "filter_collada", (filter & COLLADAFILE), _("Filter COLLADA files"), ""); RNA_def_property_flag(prop, PROP_HIDDEN); - prop= RNA_def_boolean(ot->srna, "filter_folder", (filter & FOLDERFILE), "Filter folders", ""); + prop= RNA_def_boolean(ot->srna, "filter_folder", (filter & FOLDERFILE), _("Filter folders"), ""); RNA_def_property_flag(prop, PROP_HIDDEN); prop= RNA_def_int(ot->srna, "filemode", type, FILE_LOADLIB, FILE_SPECIAL, - "File Browser Mode", "The setting for the file browser mode to load a .blend file, a library or a special file", + _("File Browser Mode"), _("The setting for the file browser mode to load a .blend file, a library or a special file"), FILE_LOADLIB, FILE_SPECIAL); RNA_def_property_flag(prop, PROP_HIDDEN); if(flag & WM_FILESEL_RELPATH) - RNA_def_boolean(ot->srna, "relative_path", (U.flag & USER_RELPATHS) ? 1:0, "Relative Path", "Select the file relative to the blend file"); + RNA_def_boolean(ot->srna, "relative_path", (U.flag & USER_RELPATHS) ? 1:0, _("Relative Path"), _("Select the file relative to the blend file")); } void WM_operator_properties_select_all(wmOperatorType *ot) { @@ -851,30 +852,30 @@ void WM_operator_properties_select_all(wmOperatorType *ot) { {0, NULL, 0, NULL, NULL} }; - RNA_def_enum(ot->srna, "action", select_all_actions, SEL_TOGGLE, "Action", "Selection action to execute"); + RNA_def_enum(ot->srna, "action", select_all_actions, SEL_TOGGLE, _("Action"), _("Selection action to execute")); } void WM_operator_properties_gesture_border(wmOperatorType *ot, int extend) { - RNA_def_int(ot->srna, "gesture_mode", 0, INT_MIN, INT_MAX, "Gesture Mode", "", INT_MIN, INT_MAX); - RNA_def_int(ot->srna, "xmin", 0, INT_MIN, INT_MAX, "X Min", "", INT_MIN, INT_MAX); - RNA_def_int(ot->srna, "xmax", 0, INT_MIN, INT_MAX, "X Max", "", INT_MIN, INT_MAX); - RNA_def_int(ot->srna, "ymin", 0, INT_MIN, INT_MAX, "Y Min", "", INT_MIN, INT_MAX); - RNA_def_int(ot->srna, "ymax", 0, INT_MIN, INT_MAX, "Y Max", "", INT_MIN, INT_MAX); + RNA_def_int(ot->srna, "gesture_mode", 0, INT_MIN, INT_MAX, _("Gesture Mode"), "", INT_MIN, INT_MAX); + RNA_def_int(ot->srna, "xmin", 0, INT_MIN, INT_MAX, _("X Min"), "", INT_MIN, INT_MAX); + RNA_def_int(ot->srna, "xmax", 0, INT_MIN, INT_MAX, _("X Max"), "", INT_MIN, INT_MAX); + RNA_def_int(ot->srna, "ymin", 0, INT_MIN, INT_MAX, _("Y Min"), "", INT_MIN, INT_MAX); + RNA_def_int(ot->srna, "ymax", 0, INT_MIN, INT_MAX, _("Y Max"), "", INT_MIN, INT_MAX); if(extend) - RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection instead of deselecting everything first"); + RNA_def_boolean(ot->srna, "extend", 1, _("Extend"), _("Extend selection instead of deselecting everything first")); } void WM_operator_properties_gesture_straightline(wmOperatorType *ot, int cursor) { - RNA_def_int(ot->srna, "xstart", 0, INT_MIN, INT_MAX, "X Start", "", INT_MIN, INT_MAX); - RNA_def_int(ot->srna, "xend", 0, INT_MIN, INT_MAX, "X End", "", INT_MIN, INT_MAX); - RNA_def_int(ot->srna, "ystart", 0, INT_MIN, INT_MAX, "Y Start", "", INT_MIN, INT_MAX); - RNA_def_int(ot->srna, "yend", 0, INT_MIN, INT_MAX, "Y End", "", INT_MIN, INT_MAX); + RNA_def_int(ot->srna, "xstart", 0, INT_MIN, INT_MAX, _("X Start"), "", INT_MIN, INT_MAX); + RNA_def_int(ot->srna, "xend", 0, INT_MIN, INT_MAX, _("X End"), "", INT_MIN, INT_MAX); + RNA_def_int(ot->srna, "ystart", 0, INT_MIN, INT_MAX, _("Y Start"), "", INT_MIN, INT_MAX); + RNA_def_int(ot->srna, "yend", 0, INT_MIN, INT_MAX, _("Y End"), "", INT_MIN, INT_MAX); if(cursor) - RNA_def_int(ot->srna, "cursor", cursor, 0, INT_MAX, "Cursor", "Mouse cursor style to use during the modal operator", 0, INT_MAX); + RNA_def_int(ot->srna, "cursor", cursor, 0, INT_MAX, _("Cursor"), _("Mouse cursor style to use during the modal operator"), 0, INT_MAX); } @@ -990,7 +991,7 @@ static uiBlock *wm_block_create_dialog(bContext *C, ARegion *ar, void *userData) col= uiLayoutColumn(layout, FALSE); col_block= uiLayoutGetBlock(col); /* Create OK button, the callback of which will execute op */ - btn= uiDefBut(col_block, BUT, 0, "OK", 0, -30, 0, UI_UNIT_Y, NULL, 0, 0, 0, 0, ""); + btn= uiDefBut(col_block, BUT, 0, _("OK"), 0, -30, 0, UI_UNIT_Y, NULL, 0, 0, 0, 0, ""); uiButSetFunc(btn, dialog_exec_cb, op, col_block); } @@ -1103,13 +1104,13 @@ static void WM_OT_debug_menu(wmOperatorType *ot) { ot->name= "Debug Menu"; ot->idname= "WM_OT_debug_menu"; - ot->description= "Open a popup to set the debug level"; + ot->description= _("Open a popup to set the debug level"); ot->invoke= wm_debug_menu_invoke; ot->exec= wm_debug_menu_exec; ot->poll= WM_operator_winactive; - RNA_def_int(ot->srna, "debug_value", 0, -10000, 10000, "Debug Value", "", INT_MIN, INT_MAX); + RNA_def_int(ot->srna, "debug_value", 0, -10000, 10000, _("Debug Value"), "", INT_MIN, INT_MAX); } @@ -1217,19 +1218,19 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar split = uiLayoutSplit(layout, 0, 0); col = uiLayoutColumn(split, 0); - uiItemL(col, "Links", ICON_NONE); - uiItemStringO(col, "Donations", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/blenderorg/blender-foundation/donation-payment/"); - uiItemStringO(col, "Release Log", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-257/"); - uiItemStringO(col, "Manual", ICON_URL, "WM_OT_url_open", "url", "http://wiki.blender.org/index.php/Doc:2.5/Manual"); - uiItemStringO(col, "Blender Website", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/"); - uiItemStringO(col, "User Community", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/community/user-community/"); // + uiItemL(col, _("Links"), ICON_NONE); + uiItemStringO(col, _("Donations"), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/blenderorg/blender-foundation/donation-payment/"); + uiItemStringO(col, _("Release Log"), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-257/"); + uiItemStringO(col, _("Manual"), ICON_URL, "WM_OT_url_open", "url", "http://wiki.blender.org/index.php/Doc:2.5/Manual"); + uiItemStringO(col, _("Blender Website"), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/"); + uiItemStringO(col, _("User Community"), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/community/user-community/"); // if(strcmp(STRINGIFY(BLENDER_VERSION_CYCLE), "release")==0) { BLI_snprintf(url, sizeof(url), "http://www.blender.org/documentation/blender_python_api_%d_%d" STRINGIFY(BLENDER_VERSION_CHAR) "_release", BLENDER_VERSION/100, BLENDER_VERSION%100); } else { BLI_snprintf(url, sizeof(url), "http://www.blender.org/documentation/blender_python_api_%d_%d_%d", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION); } - uiItemStringO(col, "Python API Reference", ICON_URL, "WM_OT_url_open", "url", url); + uiItemStringO(col, _("Python API Reference"), ICON_URL, "WM_OT_url_open", "url", url); uiItemL(col, "", ICON_NONE); col = uiLayoutColumn(split, 0); @@ -1239,7 +1240,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar uiItemS(col); } - uiItemL(col, "Recent", ICON_NONE); + uiItemL(col, _("Recent"), ICON_NONE); for(recent = G.recent_files.first, i=0; (i<5) && (recent); recent = recent->next, i++) { uiItemStringO(col, BLI_path_basename(recent->filepath), ICON_FILE_BLEND, "WM_OT_open_mainfile", "filepath", recent->filepath); } @@ -1422,9 +1423,9 @@ static int wm_operator_winactive_normal(bContext *C) static void WM_OT_window_duplicate(wmOperatorType *ot) { - ot->name= "Duplicate Window"; + ot->name= _("Duplicate Window"); ot->idname= "WM_OT_window_duplicate"; - ot->description="Duplicate the current Blender window"; + ot->description=_("Duplicate the current Blender window"); ot->exec= wm_window_duplicate_exec; ot->poll= wm_operator_winactive_normal; @@ -1432,9 +1433,9 @@ static void WM_OT_window_duplicate(wmOperatorType *ot) static void WM_OT_save_homefile(wmOperatorType *ot) { - ot->name= "Save User Settings"; + ot->name= _("Save User Settings"); ot->idname= "WM_OT_save_homefile"; - ot->description="Make the current file the default .blend file"; + ot->description=_("Make the current file the default .blend file"); ot->invoke= WM_operator_confirm; ot->exec= WM_write_homefile; @@ -1443,9 +1444,9 @@ static void WM_OT_save_homefile(wmOperatorType *ot) static void WM_OT_read_homefile(wmOperatorType *ot) { - ot->name= "Reload Start-Up File"; + ot->name= _("Reload Start-Up File"); ot->idname= "WM_OT_read_homefile"; - ot->description="Open the default file (doesn't save the current file)"; + ot->description=_("Open the default file (doesn't save the current file)"); ot->invoke= WM_operator_confirm; ot->exec= WM_read_homefile_exec; @@ -1454,9 +1455,9 @@ static void WM_OT_read_homefile(wmOperatorType *ot) static void WM_OT_read_factory_settings(wmOperatorType *ot) { - ot->name= "Load Factory Settings"; + ot->name= _("Load Factory Settings"); ot->idname= "WM_OT_read_factory_settings"; - ot->description="Load default file and user preferences"; + ot->description=_("Load default file and user preferences"); ot->invoke= WM_operator_confirm; ot->exec= WM_read_homefile_exec; @@ -1539,7 +1540,7 @@ static void WM_OT_open_mainfile(wmOperatorType *ot) { ot->name= "Open Blender File"; ot->idname= "WM_OT_open_mainfile"; - ot->description="Open a Blender file"; + ot->description=_("Open a Blender file"); ot->invoke= wm_open_mainfile_invoke; ot->exec= wm_open_mainfile_exec; @@ -1705,9 +1706,9 @@ static int wm_link_append_exec(bContext *C, wmOperator *op) static void WM_OT_link_append(wmOperatorType *ot) { - ot->name= "Link/Append from Library"; + ot->name= _("Link/Append from Library"); ot->idname= "WM_OT_link_append"; - ot->description= "Link or Append from a Library .blend file"; + ot->description= _("Link or Append from a Library .blend file"); ot->invoke= wm_link_append_invoke; ot->exec= wm_link_append_exec; @@ -1717,10 +1718,10 @@ static void WM_OT_link_append(wmOperatorType *ot) WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_LOADLIB, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_DIRECTORY|WM_FILESEL_FILENAME| WM_FILESEL_RELPATH); - RNA_def_boolean(ot->srna, "link", 1, "Link", "Link the objects or datablocks rather than appending"); - RNA_def_boolean(ot->srna, "autoselect", 1, "Select", "Select the linked objects"); - RNA_def_boolean(ot->srna, "active_layer", 1, "Active Layer", "Put the linked objects on the active layer"); - RNA_def_boolean(ot->srna, "instance_groups", 1, "Instance Groups", "Create instances for each group as a DupliGroup"); + RNA_def_boolean(ot->srna, "link", 1, _("Link"), _("Link the objects or datablocks rather than appending")); + RNA_def_boolean(ot->srna, "autoselect", 1, _("Select"), _("Select the linked objects")); + RNA_def_boolean(ot->srna, "active_layer", 1, _("Active Layer"), _("Put the linked objects on the active layer")); + RNA_def_boolean(ot->srna, "instance_groups", 1, _("Instance Groups"), _("Create instances for each group as a DupliGroup")); RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", ""); } @@ -1747,9 +1748,9 @@ static int wm_recover_last_session_exec(bContext *C, wmOperator *op) static void WM_OT_recover_last_session(wmOperatorType *ot) { - ot->name= "Recover Last Session"; + ot->name= _("Recover Last Session"); ot->idname= "WM_OT_recover_last_session"; - ot->description="Open the last closed file (\"quit.blend\")"; + ot->description=_("Open the last closed file (\"quit.blend\")"); ot->exec= wm_recover_last_session_exec; ot->poll= WM_operator_winactive; @@ -1792,7 +1793,7 @@ static void WM_OT_recover_auto_save(wmOperatorType *ot) { ot->name= "Recover Auto Save"; ot->idname= "WM_OT_recover_auto_save"; - ot->description="Open an automatically saved file to recover it"; + ot->description=_("Open an automatically saved file to recover it"); ot->exec= wm_recover_auto_save_exec; ot->invoke= wm_recover_auto_save_invoke; @@ -1809,9 +1810,9 @@ static void untitled(char *name) char *c= BLI_last_slash(name); if(c) - strcpy(&c[1], "untitled.blend"); + strcpy(&c[1], _("untitled.blend")); else - strcpy(name, "untitled.blend"); + strcpy(name, _("untitled.blend")); } } @@ -1896,9 +1897,9 @@ static int blend_save_check(bContext *UNUSED(C), wmOperator *op) static void WM_OT_save_as_mainfile(wmOperatorType *ot) { - ot->name= "Save As Blender File"; + ot->name= _("Save As Blender File"); ot->idname= "WM_OT_save_as_mainfile"; - ot->description="Save the current file in the desired location"; + ot->description=_("Save the current file in the desired location"); ot->invoke= wm_save_as_mainfile_invoke; ot->exec= wm_save_as_mainfile_exec; @@ -1906,9 +1907,9 @@ static void WM_OT_save_as_mainfile(wmOperatorType *ot) /* ommit window poll so this can work in background mode */ WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_BLENDER, FILE_SAVE, WM_FILESEL_FILEPATH); - RNA_def_boolean(ot->srna, "compress", 0, "Compress", "Write compressed .blend file"); - RNA_def_boolean(ot->srna, "relative_remap", 1, "Remap Relative", "Remap relative paths when saving in a different directory"); - RNA_def_boolean(ot->srna, "copy", 0, "Save Copy", "Save a copy of the actual working state but does not make saved file active."); + RNA_def_boolean(ot->srna, "compress", 0, _("Compress"), _("Write compressed .blend file")); + RNA_def_boolean(ot->srna, "relative_remap", 1, _("Remap Relative"), _("Remap relative paths when saving in a different directory")); + RNA_def_boolean(ot->srna, "copy", 0, _("Save Copy"), _("Save a copy of the actual working state but does not make saved file active.")); } /* *************** save file directly ******** */ @@ -1957,7 +1958,7 @@ static void WM_OT_save_mainfile(wmOperatorType *ot) { ot->name= "Save Blender File"; ot->idname= "WM_OT_save_mainfile"; - ot->description="Save the current Blender file"; + ot->description=_("Save the current Blender file"); ot->invoke= wm_save_mainfile_invoke; ot->exec= wm_save_as_mainfile_exec; @@ -2075,7 +2076,7 @@ static void WM_OT_quit_blender(wmOperatorType *ot) { ot->name= "Quit Blender"; ot->idname= "WM_OT_quit_blender"; - ot->description= "Quit Blender"; + ot->description= _("Quit Blender"); ot->invoke= WM_operator_confirm; ot->exec= wm_exit_blender_op; @@ -2096,7 +2097,7 @@ static void WM_OT_console_toggle(wmOperatorType *ot) { ot->name= "Toggle System Console"; ot->idname= "WM_OT_console_toggle"; - ot->description= "Toggle System Console"; + ot->description= _("Toggle System Console"); ot->exec= wm_console_toggle_op; ot->poll= WM_operator_winactive; @@ -3211,7 +3212,7 @@ static int radial_control_modal(bContext *C, wmOperator *op, wmEvent *event) static void WM_OT_radial_control(wmOperatorType *ot) { - ot->name= "Radial Control"; + ot->name= _("Radial Control"); ot->idname= "WM_OT_radial_control"; ot->invoke= radial_control_invoke; @@ -3360,7 +3361,7 @@ static void WM_OT_redraw_timer(wmOperatorType *ot) ot->poll= WM_operator_winactive; ot->prop= RNA_def_enum(ot->srna, "type", redraw_timer_type_items, 0, "Type", ""); - RNA_def_int(ot->srna, "iterations", 10, 1,INT_MAX, "Iterations", "Number of times to redraw", 1,1000); + RNA_def_int(ot->srna, "iterations", 10, 1,INT_MAX, _("Iterations"), _("Number of times to redraw"), 1,1000); } @@ -3376,7 +3377,7 @@ static void WM_OT_memory_statistics(wmOperatorType *ot) { ot->name= "Memory Statistics"; ot->idname= "WM_OT_memory_statistics"; - ot->description= "Print memory statistics to the console"; + ot->description= _("Print memory statistics to the console"); ot->exec= memory_statistics_exec; } |