diff --git a/Makefile b/Makefile index a056d11..17148b3 100644 --- a/Makefile +++ b/Makefile @@ -142,6 +142,7 @@ install: check uninstall @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.properties-symbolic.svg" @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.source-symbolic.svg" @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.save-symbolic.svg" + @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.update-symbolic.svg" @install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy" @if [ -z ${DESTDIR} ]; then \ [ -d "${DESTDIR}/usr/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}/usr/share/icons/hicolor/" &>/dev/null || true; \ diff --git a/icons/com.ublinux.ubl-settings-services.update-symbolic.svg b/icons/com.ublinux.ubl-settings-services.update-symbolic.svg new file mode 100644 index 0000000..e0ae6ce --- /dev/null +++ b/icons/com.ublinux.ubl-settings-services.update-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/source/ubl-settings-services.c b/source/ubl-settings-services.c index dc93d96..45e6a7c 100644 --- a/source/ubl-settings-services.c +++ b/source/ubl-settings-services.c @@ -117,7 +117,7 @@ void on_config_global_save(){ void on_config_custom_save(GtkWidget *self, main_window *widgets){ if (self&&widgets){} main_config.save_config=1; - template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_CUSTOM,config_get_command("system"),NULL); + template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_CUSTOM,yon_config_get_custom_command("system"),NULL); if (window){}; } @@ -339,6 +339,11 @@ void on_config_block_clicked(GtkCellRenderer *self, char *path, main_window *wid } +void on_system_autostart_confirmed(GtkWidget *self,char *service_command){ + if (self){}; + yon_launch_app_with_arguments(service_command,""); +} + void on_system_autostart_clicked(GtkCellRenderer *self, char *path, main_window *widgets){ if (self){}; GtkTreeIter filter_iter; @@ -359,9 +364,15 @@ void on_system_autostart_clicked(GtkCellRenderer *self, char *path, main_window gboolean status = 0; char *service_name; gtk_tree_model_get(model,&iter,3,&status,5,&service_name,-1); + dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); + data->action_text=(!status)==0 ?SERVICE_DISABLE_WARNING_LABEL(service_name):SERVICE_ENABLE_WARNING_LABEL(service_name); + data->data=(!status)==1 ? service_enable_command(service_name) : \ + service_disable_command(service_name); + data->function=(void*)(void*)on_system_autostart_confirmed; + int responce = yon_confirmation_dialog_call(widgets->Window,data); + if (responce == GTK_RESPONSE_ACCEPT){ gtk_list_store_set(GTK_LIST_STORE(model),&iter,3,!status,-1); - yon_launch((!status)==1 ? service_enable_command(service_name) : \ - service_disable_command(service_name)); + } } } @@ -440,8 +451,7 @@ void on_filter_changed(GtkWidget *self, main_window *widgets){ void on_system_kill_confirmed(GtkWidget *self,char *service_name){ if (self){}; - char *command = service_kill_command(service_name); - yon_launch(command); + yon_launch_app_with_arguments(service_name,""); } void on_system_launch_clicked(GtkWidget *self, char *path, main_window *widgets){ @@ -466,7 +476,7 @@ void on_system_launch_clicked(GtkWidget *self, char *path, main_window *widgets) if (status){ dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); data->action_text=SERVICE_STOP_WARNING_LABEL(service_name); - data->data=service_name; + data->data=service_stop_command(service_name); data->function=(void*)(void*)on_system_kill_confirmed; int size; config_str result = yon_config_load(service_check_active_command(service_name),&size); @@ -480,22 +490,66 @@ void on_system_launch_clicked(GtkWidget *self, char *path, main_window *widgets) } yon_char_parsed_free(result,size); } else { - yon_launch(service_start_command(service_name)); + dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); + data->action_text=SERVICE_START_WARNING_LABEL(service_name); + data->data=service_start_command(service_name); + data->function=(void*)(void*)on_system_kill_confirmed; int size; config_str result = yon_config_load(service_check_active_command(service_name),&size); yon_char_remove_last_symbol(result[0],'\n'); if (size>0&&!strcmp(result[0],"active")){ - gtk_list_store_set(GTK_LIST_STORE(model),&iter,4,1,-1); - } else { - yon_ubl_status_box_render(SERVICE_START_FAILED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); + int responce = yon_confirmation_dialog_call(widgets->Window,data); + if (responce == GTK_RESPONSE_ACCEPT){ + gtk_list_store_set(GTK_LIST_STORE(model),&iter,4,1,-1); + + } } + + // yon_char_parsed_free(result,size); + // yon_launch(service_start_command(service_name)); + // int size; + // config_str result = yon_config_load(service_check_active_command(service_name),&size); + // yon_char_remove_last_symbol(result[0],'\n'); + // if (size>0&&!strcmp(result[0],"active")){ + // gtk_list_store_set(GTK_LIST_STORE(model),&iter,4,1,-1); + // } else { + // yon_ubl_status_box_render(SERVICE_START_FAILED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); + // } } } } +void on_service_restart_confirmed(GtkWidget *self,char *service_name){ + if (self){}; + char *command = restart_command(service_name); + yon_launch_app_with_arguments(command,""); +} + void on_system_restart_clicked(GtkWidget *self, main_window *widgets){ if (self&&widgets){}; + GtkWidget *target_tree; + switch(gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))){ + case 0:target_tree=widgets->SystemUnitsTree; + break; + case 1: target_tree = widgets->UserUnitsTree; + break; + default: return; + } + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(target_tree)); + GtkTreeIter iter; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(target_tree)),&model,&iter)){ + char *target; + gtk_tree_model_get(model,&iter,5,&target,-1); + dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); + data->action_text=REEXEC_SERVICE_WARMING_LABEL(target); + data->data=target; + data->function=(void*)(void*)on_service_restart_confirmed; + int responce = yon_confirmation_dialog_call(widgets->Window,data); + if (responce == GTK_RESPONSE_ACCEPT){ + yon_ubl_status_box_render(SERVICE_RELOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); + } + } } void yon_sessions_update(main_window *widgets){ @@ -1324,6 +1378,7 @@ void on_tree_selection_changed(GtkWidget *self, main_window *widgets){ if (getuid()==0){ gtk_widget_set_sensitive(widgets->SystemEditButton,1); gtk_widget_set_sensitive(widgets->SystemLogButton,1); + gtk_widget_set_sensitive(widgets->SystemServiceUpdateButton,1); } } else { @@ -1334,6 +1389,7 @@ void on_tree_selection_changed(GtkWidget *self, main_window *widgets){ if (getuid()==0){ gtk_widget_set_sensitive(widgets->SystemEditButton,0); gtk_widget_set_sensitive(widgets->SystemLogButton,0); + gtk_widget_set_sensitive(widgets->SystemServiceUpdateButton,0); } } } else if (page==1){ @@ -1349,6 +1405,7 @@ void on_tree_selection_changed(GtkWidget *self, main_window *widgets){ if (getuid()==0){ gtk_widget_set_sensitive(widgets->UserEditButton,1); gtk_widget_set_sensitive(widgets->UserLogButton,1); + gtk_widget_set_sensitive(widgets->UserServiceUpdateButton,1); } } else { gtk_label_set_text(GTK_LABEL(widgets->UserServiceLabel),""); @@ -1358,6 +1415,7 @@ void on_tree_selection_changed(GtkWidget *self, main_window *widgets){ if (getuid()==0){ gtk_widget_set_sensitive(widgets->UserEditButton,0); gtk_widget_set_sensitive(widgets->UserLogButton,0); + gtk_widget_set_sensitive(widgets->UserServiceUpdateButton,0); } } @@ -1410,6 +1468,7 @@ void yon_main_window_complete(main_window *widgets){ widgets->SystemUnitsTree=yon_gtk_builder_get_widget(builder,"SystemUnitsTree"); widgets->SystemPrevButton=yon_gtk_builder_get_widget(builder,"SystemPrevButton"); widgets->SystemUpdateButton=yon_gtk_builder_get_widget(builder,"SystemUpdateButton"); + widgets->SystemServiceUpdateButton=yon_gtk_builder_get_widget(builder,"SystemServiceUpdateButton"); widgets->SystemInfoButton=yon_gtk_builder_get_widget(builder,"SystemInfoButton"); widgets->SystemLogButton=yon_gtk_builder_get_widget(builder,"SystemLogButton"); widgets->SystemEditButton=yon_gtk_builder_get_widget(builder,"SystemEditButton"); @@ -1430,6 +1489,7 @@ void yon_main_window_complete(main_window *widgets){ widgets->UserSystemLaunchedCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"UserSystemLaunchedCell")); widgets->SystemMenu = yon_rmb_menu_setup(widgets->SystemUnitsTree,NULL,NULL, RESTART_LABEL,update_icon_path,G_CALLBACK(on_system_restart_clicked),widgets, + RELAUNCH_SYSTEMCTL_LABEL,relaunch_icon_path,G_CALLBACK(yon_system_systemd_restart),widgets, STATUS_LABEL,status_icon_path,on_system_info_clicked,widgets, SHOW_LOG_LABEL,log_icon_path,on_system_log_clicked,widgets, SHOW_SOURCE_LABEL,source_icon_path,on_system_edit_clicked,widgets, @@ -1444,6 +1504,7 @@ void yon_main_window_complete(main_window *widgets){ widgets->UserUnitsTree=yon_gtk_builder_get_widget(builder,"UserUnitsTree"); widgets->UserPrevButton=yon_gtk_builder_get_widget(builder,"UserPrevButton"); widgets->UserUpdateButton=yon_gtk_builder_get_widget(builder,"UserUpdateButton"); + widgets->UserServiceUpdateButton=yon_gtk_builder_get_widget(builder,"UserServiceUpdateButton"); widgets->UserInfoButton=yon_gtk_builder_get_widget(builder,"UserInfoButton"); widgets->UserLogButton=yon_gtk_builder_get_widget(builder,"UserLogButton"); widgets->UserEditButton=yon_gtk_builder_get_widget(builder,"UserEditButton"); @@ -1452,6 +1513,7 @@ void yon_main_window_complete(main_window *widgets){ widgets->UserDescriptionLabel=yon_gtk_builder_get_widget(builder,"UserDescriptionLabel"); widgets->UserMenu = yon_rmb_menu_setup(widgets->UserUnitsTree,NULL,NULL, RESTART_LABEL,update_icon_path,G_CALLBACK(on_system_restart_clicked),widgets, + RELAUNCH_SYSTEMCTL_LABEL,relaunch_icon_path,G_CALLBACK(yon_system_systemd_restart),widgets, STATUS_LABEL,status_icon_path,on_user_info_clicked,widgets, SHOW_LOG_LABEL,log_icon_path,on_user_log_clicked,widgets, SHOW_SOURCE_LABEL,source_icon_path,on_user_edit_clicked,widgets, @@ -1473,11 +1535,13 @@ void yon_main_window_complete(main_window *widgets){ { GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->SystemMenu->menu)); gtk_style_context_add_class(gtk_widget_get_style_context(g_list_nth_data(list,1)),"separatorTop"); + gtk_style_context_add_class(gtk_widget_get_style_context(g_list_nth_data(list,1)),"separatorBottom"); g_list_free(list); } { GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->UserMenu->menu)); gtk_style_context_add_class(gtk_widget_get_style_context(g_list_nth_data(list,1)),"separatorTop"); + gtk_style_context_add_class(gtk_widget_get_style_context(g_list_nth_data(list,1)),"separatorBottom"); g_list_free(list); } widgets->SystemServiceLabel=yon_gtk_builder_get_widget(builder,"SystemServiceLabel"); @@ -1489,6 +1553,7 @@ void yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->SystemPrevButton),"clicked",G_CALLBACK(on_system_update_hz_clicked),widgets); g_signal_connect(G_OBJECT(widgets->SystemUpdateButton),"clicked",G_CALLBACK(on_system_update_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->SystemServiceUpdateButton),"clicked",G_CALLBACK(on_system_restart_clicked),widgets); g_signal_connect(G_OBJECT(widgets->SystemInfoButton),"clicked",G_CALLBACK(on_system_info_clicked),widgets); g_signal_connect(G_OBJECT(widgets->SystemLogButton),"clicked",G_CALLBACK(on_system_log_clicked),widgets); g_signal_connect(G_OBJECT(widgets->SystemEditButton),"clicked",G_CALLBACK(on_system_edit_clicked),widgets); @@ -1500,6 +1565,7 @@ void yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->UserPrevButton),"clicked",G_CALLBACK(on_user_update_hz_clicked),widgets); g_signal_connect(G_OBJECT(widgets->UserUpdateButton),"clicked",G_CALLBACK(on_user_update_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->UserServiceUpdateButton),"clicked",G_CALLBACK(on_system_restart_clicked),widgets); g_signal_connect(G_OBJECT(widgets->UserInfoButton),"clicked",G_CALLBACK(on_user_info_clicked),widgets); g_signal_connect(G_OBJECT(widgets->UserLogButton),"clicked",G_CALLBACK(on_user_log_clicked),widgets); g_signal_connect(G_OBJECT(widgets->UserEditButton),"clicked",G_CALLBACK(on_user_edit_clicked),widgets); diff --git a/source/ubl-settings-services.h b/source/ubl-settings-services.h index b49aa1a..f2cab65 100644 --- a/source/ubl-settings-services.h +++ b/source/ubl-settings-services.h @@ -38,10 +38,10 @@ #define load_system_services_command "systemctl --system list-units --no-pager --all |grep -E \"^ \" |grep -v \"UNIT\" |sed -e 's/ */;/g' -e 's/^;//g' |cut -f1 -d';'" #define load_enabled_command "systemctl list-unit-files --no-pager --state=enabled --all |sed -e 's/ */:/g' -e 's/ *: */:/g'|cut -f1 -d:" #define load_launched_command "systemctl list-units --no-pager --state=active --all --no-legend|sed -e 's/^ //g' -e 's/ */:/g' |cut -f1 -d:" -#define service_start_command(target) yon_char_append("systemctl start --no-pager ",target) -#define service_stop_command(target) yon_char_append("systemctl stop --no-pager ",target) -#define service_enable_command(target) yon_char_append("systemctl enable --no-pager ",target) -#define service_disable_command(target) yon_char_append("systemctl disable --no-pager ",target) +#define service_start_command(target) yon_char_append("systemctl start ",target) +#define service_stop_command(target) yon_char_append("systemctl stop ",target) +#define service_enable_command(target) yon_char_append("systemctl enable ",target) +#define service_disable_command(target) yon_char_append("systemctl disable ",target) #define service_kill_command(target) yon_char_append("systemctl kill ",target) #define service_check_active_command(target) yon_char_append("systemctl is-active ",target) @@ -101,6 +101,9 @@ #define source_icon_path "com.ublinux.ubl-settings-services.source-symbolic" #define properties_icon_path "com.ublinux.ubl-settings-services.properties-symbolic" #define status_icon_path "com.ublinux.ubl-settings-services.important-symbolic" +#define relaunch_icon_path "com.ublinux.ubl-settings-services.sync-time-symbolic" + +#define restart_command(target) yon_char_append("systemctl restart ",target) #define reload_systemd_root_command "systemctl daemon-reload" #define reexec_systemd_root_command "systemctl daemon-reexec" @@ -156,6 +159,7 @@ typedef struct { GtkWidget *SystemUnitsTree; GtkWidget *SystemPrevButton; GtkWidget *SystemUpdateButton; + GtkWidget *SystemServiceUpdateButton; GtkWidget *SystemInfoButton; GtkWidget *SystemLogButton; GtkWidget *SystemEditButton; @@ -173,6 +177,7 @@ typedef struct { GtkWidget *UserUnitsTree; GtkWidget *UserPrevButton; GtkWidget *UserUpdateButton; + GtkWidget *UserServiceUpdateButton; GtkWidget *UserInfoButton; GtkWidget *UserLogButton; GtkWidget *UserEditButton; @@ -325,6 +330,12 @@ void on_source_show(); void on_properties_show(); +void on_system_autostart_confirmed(GtkWidget *self,char *service_command); + +void on_service_restart_confirmed(GtkWidget *self,char *service_name); + +void on_system_system_restart_clicked(GtkWidget *self, main_window *widgets); + void yon_sessions_update(main_window *widgets); void on_session_activate(); diff --git a/source/ubl-strings.h b/source/ubl-strings.h index f394e9b..2bcb8af 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -16,6 +16,8 @@ #define SYSTEM_SERVICES_LABEL _("System services only") #define USER_SERVICES_LABEL _("User services only") +#define SAVE_PROCESS_LABEL _("Saving...") + #define ALL_LABEL _("All") #define SERVICES_LABEL _("Services") #define SOCKETS_LABEL _("Sockets") @@ -44,7 +46,7 @@ #define LAUNCHED_LABEL _("Launched") #define LIST_LOAD_LABEL _("Service list is loading") #define STATUS_LABEL _("Status") -#define RESTART_LABEL _("Restart with new configuration") +#define RESTART_LABEL _("Restart") #define SHOW_LOG_LABEL _("Show log") #define SHOW_SOURCE_LABEL _("Show source") #define PROPERTIES_LABEL _("Properties") @@ -61,8 +63,11 @@ #define SWITCH_OFF_ERROR_LABEL _("Service were not stopped") #define SERVICE_STOP_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to stop "),target,"?\n",_("The system may become unstable."),NULL) +#define SERVICE_START_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to start "),target,"?\n",_("The system may become unstable."),NULL) #define REEXEC_SERVICE_WARMING_LABEL(target) yon_char_unite(_("Are you sure want to restart "),target,"?\n",_("The system may become unstable."),NULL) #define RELOAD_SERVICE_WARMING_LABEL(target) yon_char_unite(_("Are you sure want to reload "),target,"?\n",_("The system may become unstable."),NULL) +#define SERVICE_ENABLE_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to enable "),target,"?\n",_("The system may become unstable."),NULL) +#define SERVICE_DISABLE_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to disable "),target,"?\n",_("The system may become unstable."),NULL) #define DAYS_LABEL _("Days") #define HOURS_LABEL _("Hours") #define MINUTES_LABEL _("Minutes") @@ -86,8 +91,8 @@ #define UNIT_LABEL _("Unit") -#define RELAUNCH_SYSTEMCTL_LABEL _("Relaunch systemctl") -#define REEXEC_SYSTEMCTL_LABEL _("Reexec systemctl") +#define RELAUNCH_SYSTEMCTL_LABEL _("Relaunch with new configuration") +#define REEXEC_SYSTEMCTL_LABEL _("Reexec systemd") #define SHOW_SERVICE_INFO_LABEL _("Show service information") #define SHOW_SERVICE_LOG_LABEL _("Show service log") #define SHOW_SERVICE_SOURCE_LABEL _("Show service source file") @@ -140,4 +145,6 @@ #define SYSTEMD_REEXEC_SUCCESS_LABEL _("Systemd has been re-executed") #define SYSTEMD_RELAUNCH_SUCCESS_LABEL _("Systemd has been relaunched") +#define SERVICE_RELOAD_SUCCESS_LABEL _("Service has been successfully restarted") + #define SAVE_LABEL _("Save") \ No newline at end of file diff --git a/systemd_conf.csv b/systemd_conf.csv new file mode 100644 index 0000000..66b8146 --- /dev/null +++ b/systemd_conf.csv @@ -0,0 +1,17 @@ +config_name;description +ubconfig*.conf;UBLinux OS configuration files +coredump*.conf;System Debug Dump Configuration +journald*.conf;Configuring various systemd log service options +journal-upload*.conf;Configuring various systemd-journal-upload.service parameters +networkd*.conf;Configuring Global Network Settings +pstore*.conf;Configuration file for systemd-pstore, a tool for archiving the contents of the pstore persistent storage file system +sleep*.conf;Workstation hibernation options +system*.conf;Systemd configuration +user*.conf;User Configuration +homed*.conf;Settings management configuration for user account home directories created and managed by systemd-homed.service +journal-remote*.conf;Configuration files for various systemd-journal-remote.service parameters +logind*.conf;Configuration files for various systemd login manager options +oomd*.conf;Configuration files for various out-of-memory (OOM) killer parameters in systemd user space +resolved*.conf;Local DNS and LLMNR name resolution management configuration files +swap*.conf;System swap file management configuration files +timesyncd*.conf;Configuration file controlling NTP network time synchronization \ No newline at end of file diff --git a/ubl-settings-services.glade b/ubl-settings-services.glade index 0726e48..b76d22e 100644 --- a/ubl-settings-services.glade +++ b/ubl-settings-services.glade @@ -155,6 +155,11 @@ False com.ublinux.ubl-settings-services.properties-symbolic + + True + False + com.ublinux.ubl-settings-services.update-symbolic + True False @@ -170,6 +175,11 @@ False com.ublinux.ubl-settings-services.source-symbolic + + True + False + com.ublinux.ubl-settings-services.update-symbolic + True False @@ -387,7 +397,7 @@ True True True - Relaunch systemctl + Relaunch with new cnfiguration image1 + + + False + True + 3 + + True @@ -442,7 +470,7 @@ False True - 3 + 4 @@ -460,7 +488,7 @@ False True - 4 + 5 @@ -478,7 +506,7 @@ False True - 5 + 6 @@ -496,7 +524,7 @@ False True - 6 + 7 @@ -507,7 +535,7 @@ False True - 7 + 8 @@ -532,7 +560,7 @@ False True - 8 + 9 @@ -945,7 +973,7 @@ True True True - Relaunch systemctl + Relaunch with new configuration image13 + + + False + True + 3 + + True @@ -1000,7 +1046,7 @@ False True - 3 + 4 @@ -1018,7 +1064,7 @@ False True - 4 + 5 @@ -1036,7 +1082,7 @@ False True - 5 + 6 @@ -1054,7 +1100,7 @@ False True - 6 + 7 @@ -1065,7 +1111,7 @@ False True - 7 + 8 @@ -1090,7 +1136,7 @@ False True - 8 + 9 diff --git a/ubl-settings-services.pot b/ubl-settings-services.pot index 72b07df..eb4301a 100644 --- a/ubl-settings-services.pot +++ b/ubl-settings-services.pot @@ -29,27 +29,27 @@ msgstr "" msgid "Services and processes - service information" msgstr "" -#: source/ubl-strings.h:5 source/ubl-strings.h:37 +#: source/ubl-strings.h:5 source/ubl-strings.h:39 msgid "Configure in configuration" msgstr "" -#: source/ubl-strings.h:6 source/ubl-strings.h:41 +#: source/ubl-strings.h:6 source/ubl-strings.h:43 msgid "Autostart" msgstr "" -#: source/ubl-strings.h:7 source/ubl-strings.h:42 +#: source/ubl-strings.h:7 source/ubl-strings.h:44 msgid "Autostop" msgstr "" -#: source/ubl-strings.h:8 source/ubl-strings.h:43 +#: source/ubl-strings.h:8 source/ubl-strings.h:45 msgid "Block" msgstr "" -#: source/ubl-strings.h:9 source/ubl-strings.h:38 +#: source/ubl-strings.h:9 source/ubl-strings.h:40 msgid "Configure in system" msgstr "" -#: source/ubl-strings.h:10 source/ubl-strings.h:44 +#: source/ubl-strings.h:10 source/ubl-strings.h:46 msgid "Launched" msgstr "" @@ -77,394 +77,411 @@ msgstr "" msgid "User services only" msgstr "" -#: source/ubl-strings.h:19 +#: source/ubl-strings.h:19 source/ubl-strings.h:60 +msgid "Saving..." +msgstr "" + +#: source/ubl-strings.h:21 msgid "All" msgstr "" -#: source/ubl-strings.h:20 +#: source/ubl-strings.h:22 msgid "Services" msgstr "" -#: source/ubl-strings.h:21 +#: source/ubl-strings.h:23 msgid "Sockets" msgstr "" -#: source/ubl-strings.h:22 +#: source/ubl-strings.h:24 msgid "Autolaunch in configuration" msgstr "" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:25 msgid "Stopped in configuration" msgstr "" -#: source/ubl-strings.h:24 +#: source/ubl-strings.h:26 msgid "Blocked in configuration" msgstr "" -#: source/ubl-strings.h:26 +#: source/ubl-strings.h:28 msgid "Toggle autostart at configuration" msgstr "" -#: source/ubl-strings.h:27 +#: source/ubl-strings.h:29 msgid "Toggle autostop at configuration" msgstr "" -#: source/ubl-strings.h:28 +#: source/ubl-strings.h:30 msgid "Toggle service blocking at configuration" msgstr "" -#: source/ubl-strings.h:29 +#: source/ubl-strings.h:31 msgid "Toggle autostart at system" msgstr "" -#: source/ubl-strings.h:30 +#: source/ubl-strings.h:32 msgid "Launch/Stop service" msgstr "" -#: source/ubl-strings.h:31 +#: source/ubl-strings.h:33 msgid "Check service status" msgstr "" -#: source/ubl-strings.h:32 +#: source/ubl-strings.h:34 msgid "Check service log" msgstr "" -#: source/ubl-strings.h:34 +#: source/ubl-strings.h:36 msgid "Service:" msgstr "" -#: source/ubl-strings.h:35 +#: source/ubl-strings.h:37 msgid "Description:" msgstr "" -#: source/ubl-strings.h:39 +#: source/ubl-strings.h:41 msgid "Service" msgstr "" -#: source/ubl-strings.h:45 +#: source/ubl-strings.h:47 msgid "Service list is loading" msgstr "" -#: source/ubl-strings.h:46 +#: source/ubl-strings.h:48 msgid "Status" msgstr "" -#: source/ubl-strings.h:47 -msgid "Restart with new configuration" +#: source/ubl-strings.h:49 +msgid "Restart" msgstr "" -#: source/ubl-strings.h:48 +#: source/ubl-strings.h:50 msgid "Show log" msgstr "" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:51 msgid "Show source" msgstr "" -#: source/ubl-strings.h:50 +#: source/ubl-strings.h:52 msgid "Properties" msgstr "" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:53 msgid "Activate session" msgstr "" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:54 msgid "Terminate session" msgstr "" -#: source/ubl-strings.h:53 +#: source/ubl-strings.h:55 msgid "Block session" msgstr "" -#: source/ubl-strings.h:55 +#: source/ubl-strings.h:57 msgid "Service source were not loaded" msgstr "" -#: source/ubl-strings.h:56 -msgid "Failed to launch service" -msgstr "" - #: source/ubl-strings.h:58 -msgid "Saving..." +msgid "Failed to launch service" msgstr "" -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:61 msgid "Saved" msgstr "" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:62 msgid "Error has occured" msgstr "" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:64 msgid "Service were not stopped" msgstr "" -#: source/ubl-strings.h:63 +#: source/ubl-strings.h:65 msgid "Are you sure want to stop " msgstr "" -#: source/ubl-strings.h:63 source/ubl-strings.h:64 source/ubl-strings.h:65 +#: source/ubl-strings.h:65 source/ubl-strings.h:66 source/ubl-strings.h:67 +#: source/ubl-strings.h:68 source/ubl-strings.h:69 source/ubl-strings.h:70 msgid "The system may become unstable." msgstr "" -#: source/ubl-strings.h:64 +#: source/ubl-strings.h:66 +msgid "Are you sure want to start " +msgstr "" + +#: source/ubl-strings.h:67 msgid "Are you sure want to restart " msgstr "" -#: source/ubl-strings.h:65 +#: source/ubl-strings.h:68 msgid "Are you sure want to reload " msgstr "" -#: source/ubl-strings.h:66 +#: source/ubl-strings.h:69 +msgid "Are you sure want to enable " +msgstr "" + +#: source/ubl-strings.h:70 +msgid "Are you sure want to disable " +msgstr "" + +#: source/ubl-strings.h:71 msgid "Days" msgstr "" -#: source/ubl-strings.h:67 +#: source/ubl-strings.h:72 msgid "Hours" msgstr "" -#: source/ubl-strings.h:68 +#: source/ubl-strings.h:73 msgid "Minutes" msgstr "" -#: source/ubl-strings.h:69 +#: source/ubl-strings.h:74 msgid "Seconds" msgstr "" -#: source/ubl-strings.h:71 +#: source/ubl-strings.h:76 msgid "Active" msgstr "" -#: source/ubl-strings.h:72 +#: source/ubl-strings.h:77 msgid "Inactive" msgstr "" -#: source/ubl-strings.h:74 +#: source/ubl-strings.h:79 msgid "System units" msgstr "" -#: source/ubl-strings.h:75 +#: source/ubl-strings.h:80 msgid "User units" msgstr "" -#: source/ubl-strings.h:76 +#: source/ubl-strings.h:81 msgid "Config files" msgstr "" -#: source/ubl-strings.h:77 +#: source/ubl-strings.h:82 msgid "Sessions" msgstr "" -#: source/ubl-strings.h:78 +#: source/ubl-strings.h:83 msgid "Timers" msgstr "" -#: source/ubl-strings.h:80 +#: source/ubl-strings.h:85 msgid "System services status" msgstr "" -#: source/ubl-strings.h:81 +#: source/ubl-strings.h:86 msgid "User services status" msgstr "" -#: source/ubl-strings.h:82 +#: source/ubl-strings.h:87 msgid "Installed unit files" msgstr "" -#: source/ubl-strings.h:83 +#: source/ubl-strings.h:88 msgid "Units and status list" msgstr "" -#: source/ubl-strings.h:84 +#: source/ubl-strings.h:89 msgid "Sockets and status list" msgstr "" -#: source/ubl-strings.h:85 +#: source/ubl-strings.h:90 msgid "Timers and status list" msgstr "" -#: source/ubl-strings.h:87 +#: source/ubl-strings.h:92 msgid "Unit" msgstr "" -#: source/ubl-strings.h:89 -msgid "Relaunch systemctl" +#: source/ubl-strings.h:94 +msgid "Relaunch with new configuration" msgstr "" -#: source/ubl-strings.h:90 -msgid "Reexec systemctl" +#: source/ubl-strings.h:95 +msgid "Reexec systemd" msgstr "" -#: source/ubl-strings.h:91 +#: source/ubl-strings.h:96 msgid "Show service information" msgstr "" -#: source/ubl-strings.h:92 +#: source/ubl-strings.h:97 msgid "Show service log" msgstr "" -#: source/ubl-strings.h:93 +#: source/ubl-strings.h:98 msgid "Show service source file" msgstr "" -#: source/ubl-strings.h:94 +#: source/ubl-strings.h:99 msgid "Show service properties" msgstr "" -#: source/ubl-strings.h:95 +#: source/ubl-strings.h:100 msgid "Show..." msgstr "" -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:102 msgid "Edit configuration file" msgstr "" -#: source/ubl-strings.h:99 +#: source/ubl-strings.h:104 msgid "Show inactive" msgstr "" -#: source/ubl-strings.h:100 +#: source/ubl-strings.h:105 msgid "Show unloaded" msgstr "" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:107 msgid "File" msgstr "" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:108 msgid "Change date" msgstr "" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:109 msgid "Description" msgstr "" -#: source/ubl-strings.h:105 +#: source/ubl-strings.h:110 msgid "Edit" msgstr "" -#: source/ubl-strings.h:107 +#: source/ubl-strings.h:112 msgid "Session ID" msgstr "" -#: source/ubl-strings.h:108 +#: source/ubl-strings.h:113 msgid "User ID" msgstr "" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:114 msgid "User name" msgstr "" -#: source/ubl-strings.h:110 +#: source/ubl-strings.h:115 msgid "Seat ID" msgstr "" -#: source/ubl-strings.h:112 +#: source/ubl-strings.h:117 msgid "Start session" msgstr "" -#: source/ubl-strings.h:113 +#: source/ubl-strings.h:118 msgid "Stop session" msgstr "" -#: source/ubl-strings.h:114 +#: source/ubl-strings.h:119 msgid "Lock session" msgstr "" -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:121 msgid "Timer" msgstr "" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:122 msgid "Next" msgstr "" -#: source/ubl-strings.h:118 +#: source/ubl-strings.h:123 msgid "Left" msgstr "" -#: source/ubl-strings.h:119 +#: source/ubl-strings.h:124 msgid "Last" msgstr "" -#: source/ubl-strings.h:120 +#: source/ubl-strings.h:125 msgid "Passed" msgstr "" -#: source/ubl-strings.h:121 +#: source/ubl-strings.h:126 msgid "Activates" msgstr "" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:128 msgid "active" msgstr "" -#: source/ubl-strings.h:124 +#: source/ubl-strings.h:129 msgid "dead" msgstr "" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:130 msgid "waiting" msgstr "" -#: source/ubl-strings.h:126 +#: source/ubl-strings.h:131 msgid "running" msgstr "" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:132 msgid "listening" msgstr "" -#: source/ubl-strings.h:128 +#: source/ubl-strings.h:133 msgid "exited" msgstr "" -#: source/ubl-strings.h:129 +#: source/ubl-strings.h:134 msgid "mounted" msgstr "" -#: source/ubl-strings.h:130 +#: source/ubl-strings.h:135 msgid "plugged" msgstr "" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:136 msgid "abandoned" msgstr "" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:138 msgid "State of " msgstr "" -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:139 msgid "View" msgstr "" -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:139 msgid "log" msgstr "" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:140 msgid "Edit unit file" msgstr "" -#: source/ubl-strings.h:137 +#: source/ubl-strings.h:142 msgid "Failed to re-execute systemd" msgstr "" -#: source/ubl-strings.h:138 +#: source/ubl-strings.h:143 msgid "failed to relaunch systemd" msgstr "" -#: source/ubl-strings.h:140 +#: source/ubl-strings.h:145 msgid "Systemd has been re-executed" msgstr "" -#: source/ubl-strings.h:141 +#: source/ubl-strings.h:146 msgid "Systemd has been relaunched" msgstr "" -#: source/ubl-strings.h:143 +#: source/ubl-strings.h:148 +msgid "Service has been successfully restarted" +msgstr "" + +#: source/ubl-strings.h:150 msgid "Save" msgstr "" diff --git a/ubl-settings-services_ru.po b/ubl-settings-services_ru.po index ae78c58..02a6f02 100644 --- a/ubl-settings-services_ru.po +++ b/ubl-settings-services_ru.po @@ -29,27 +29,27 @@ msgstr "Настройка работы служб и процессов сис msgid "Services and processes - service information" msgstr "Сервисы и процессы - статус" -#: source/ubl-strings.h:5 source/ubl-strings.h:37 +#: source/ubl-strings.h:5 source/ubl-strings.h:39 msgid "Configure in configuration" msgstr "Настройка в конфигурации" -#: source/ubl-strings.h:6 source/ubl-strings.h:41 +#: source/ubl-strings.h:6 source/ubl-strings.h:43 msgid "Autostart" msgstr "Автостарт" -#: source/ubl-strings.h:7 source/ubl-strings.h:42 +#: source/ubl-strings.h:7 source/ubl-strings.h:44 msgid "Autostop" msgstr "Автостоп" -#: source/ubl-strings.h:8 source/ubl-strings.h:43 +#: source/ubl-strings.h:8 source/ubl-strings.h:45 msgid "Block" msgstr "Блокировать" -#: source/ubl-strings.h:9 source/ubl-strings.h:38 +#: source/ubl-strings.h:9 source/ubl-strings.h:40 msgid "Configure in system" msgstr "Настройка в системе" -#: source/ubl-strings.h:10 source/ubl-strings.h:44 +#: source/ubl-strings.h:10 source/ubl-strings.h:46 msgid "Launched" msgstr "Запущено" @@ -77,395 +77,413 @@ msgstr "Только системные сервисы" msgid "User services only" msgstr "Только сервисы пользователя" -#: source/ubl-strings.h:19 +#: source/ubl-strings.h:19 source/ubl-strings.h:60 +msgid "Saving..." +msgstr "Сохранение..." + +#: source/ubl-strings.h:21 msgid "All" msgstr "Все" -#: source/ubl-strings.h:20 +#: source/ubl-strings.h:22 msgid "Services" msgstr "Сервисы" -#: source/ubl-strings.h:21 +#: source/ubl-strings.h:23 msgid "Sockets" msgstr "Сокеты" -#: source/ubl-strings.h:22 +#: source/ubl-strings.h:24 msgid "Autolaunch in configuration" msgstr "Автозапуск в конфигурации" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:25 msgid "Stopped in configuration" msgstr "Остановлено в конфигурации" -#: source/ubl-strings.h:24 +#: source/ubl-strings.h:26 msgid "Blocked in configuration" msgstr "Заблокированные в конфигурации" -#: source/ubl-strings.h:26 +#: source/ubl-strings.h:28 msgid "Toggle autostart at configuration" msgstr "Переключить автозапуск в конфигурации" -#: source/ubl-strings.h:27 +#: source/ubl-strings.h:29 msgid "Toggle autostop at configuration" msgstr "Переключить автостоп в конфигурации" -#: source/ubl-strings.h:28 +#: source/ubl-strings.h:30 msgid "Toggle service blocking at configuration" msgstr "Переключить блокирование в конфигурации" -#: source/ubl-strings.h:29 +#: source/ubl-strings.h:31 msgid "Toggle autostart at system" msgstr "Переключить автозапуск в системе" -#: source/ubl-strings.h:30 +#: source/ubl-strings.h:32 msgid "Launch/Stop service" msgstr "Запустить/Остановить сервис" -#: source/ubl-strings.h:31 +#: source/ubl-strings.h:33 msgid "Check service status" msgstr "Проверить статус сервиса" -#: source/ubl-strings.h:32 +#: source/ubl-strings.h:34 msgid "Check service log" msgstr "Открыть лог сервиса" -#: source/ubl-strings.h:34 +#: source/ubl-strings.h:36 msgid "Service:" msgstr "Сервис:" -#: source/ubl-strings.h:35 -#, fuzzy +#: source/ubl-strings.h:37 msgid "Description:" msgstr "Описание:" -#: source/ubl-strings.h:39 +#: source/ubl-strings.h:41 msgid "Service" msgstr "Сервис" -#: source/ubl-strings.h:45 +#: source/ubl-strings.h:47 msgid "Service list is loading" msgstr "Список сервисов загружается" -#: source/ubl-strings.h:46 +#: source/ubl-strings.h:48 msgid "Status" msgstr "Статус" -#: source/ubl-strings.h:47 -msgid "Restart with new configuration" -msgstr "Перезагрузить с новой конфигурацией" +#: source/ubl-strings.h:49 +msgid "Restart" +msgstr "Перезагрузить" -#: source/ubl-strings.h:48 +#: source/ubl-strings.h:50 msgid "Show log" msgstr "Показать логи" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:51 msgid "Show source" msgstr "Открыть конфигурационный файл" -#: source/ubl-strings.h:50 +#: source/ubl-strings.h:52 msgid "Properties" msgstr "Свойства" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:53 msgid "Activate session" msgstr "Активировать сессию" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:54 msgid "Terminate session" msgstr "Завершить сессию" -#: source/ubl-strings.h:53 +#: source/ubl-strings.h:55 msgid "Block session" msgstr "Заблокировать сессию" -#: source/ubl-strings.h:55 +#: source/ubl-strings.h:57 msgid "Service source were not loaded" msgstr "Сервис не был загружен" -#: source/ubl-strings.h:56 +#: source/ubl-strings.h:58 msgid "Failed to launch service" msgstr "Ошибка запуска сервиса" -#: source/ubl-strings.h:58 -msgid "Saving..." -msgstr "Сохранение..." - -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:61 msgid "Saved" msgstr "Сохранено" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:62 msgid "Error has occured" msgstr "Произошла ошибка" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:64 msgid "Service were not stopped" msgstr "Сервис не был остановлен" -#: source/ubl-strings.h:63 +#: source/ubl-strings.h:65 msgid "Are you sure want to stop " msgstr "Вы уверены, что хотите выключить " -#: source/ubl-strings.h:63 source/ubl-strings.h:64 source/ubl-strings.h:65 +#: source/ubl-strings.h:65 source/ubl-strings.h:66 source/ubl-strings.h:67 +#: source/ubl-strings.h:68 source/ubl-strings.h:69 source/ubl-strings.h:70 msgid "The system may become unstable." msgstr "Возможна нестабильная работа системы." -#: source/ubl-strings.h:64 +#: source/ubl-strings.h:66 +msgid "Are you sure want to start " +msgstr "Вы уверены, что хотите запустить " + +#: source/ubl-strings.h:67 msgid "Are you sure want to restart " msgstr "Вы уверены, что хотите перезапустить " -#: source/ubl-strings.h:65 +#: source/ubl-strings.h:68 msgid "Are you sure want to reload " msgstr "Вы уверены, что хотите перезагрузить " -#: source/ubl-strings.h:66 +#: source/ubl-strings.h:69 +#, fuzzy +msgid "Are you sure want to enable " +msgstr "Вы уверены, что хотите включить автозапуск для " + +#: source/ubl-strings.h:70 +#, fuzzy +msgid "Are you sure want to disable " +msgstr "Вы уверены, что хотите отключить автозапуск для " + +#: source/ubl-strings.h:71 msgid "Days" msgstr "Дней" -#: source/ubl-strings.h:67 +#: source/ubl-strings.h:72 msgid "Hours" msgstr "Часов" -#: source/ubl-strings.h:68 +#: source/ubl-strings.h:73 msgid "Minutes" msgstr "Минут" -#: source/ubl-strings.h:69 +#: source/ubl-strings.h:74 msgid "Seconds" msgstr "Секунд" -#: source/ubl-strings.h:71 +#: source/ubl-strings.h:76 msgid "Active" msgstr "Активна" -#: source/ubl-strings.h:72 +#: source/ubl-strings.h:77 msgid "Inactive" msgstr "Неактивна" -#: source/ubl-strings.h:74 +#: source/ubl-strings.h:79 msgid "System units" msgstr "Системные юниты" -#: source/ubl-strings.h:75 +#: source/ubl-strings.h:80 msgid "User units" msgstr "Пользовательские юниты" -#: source/ubl-strings.h:76 +#: source/ubl-strings.h:81 msgid "Config files" msgstr "Конфигурационные файлы" -#: source/ubl-strings.h:77 +#: source/ubl-strings.h:82 msgid "Sessions" msgstr "Сессии" -#: source/ubl-strings.h:78 +#: source/ubl-strings.h:83 msgid "Timers" msgstr "Таймеры" -#: source/ubl-strings.h:80 +#: source/ubl-strings.h:85 msgid "System services status" msgstr "Статус сервисов системы" -#: source/ubl-strings.h:81 +#: source/ubl-strings.h:86 msgid "User services status" msgstr "Статус сервисов пользователя" -#: source/ubl-strings.h:82 +#: source/ubl-strings.h:87 msgid "Installed unit files" msgstr "Установленные юнит-файлы" -#: source/ubl-strings.h:83 +#: source/ubl-strings.h:88 msgid "Units and status list" msgstr "Список юнитов и состояния" -#: source/ubl-strings.h:84 +#: source/ubl-strings.h:89 msgid "Sockets and status list" msgstr "Список сокетов и состояния" -#: source/ubl-strings.h:85 +#: source/ubl-strings.h:90 msgid "Timers and status list" msgstr "Список таймеров и состояния" -#: source/ubl-strings.h:87 +#: source/ubl-strings.h:92 msgid "Unit" msgstr "Юнит" -#: source/ubl-strings.h:89 -msgid "Relaunch systemctl" -msgstr "Перезагрузить systemctl" +#: source/ubl-strings.h:94 +msgid "Relaunch with new configuration" +msgstr "Перезагрузить с новыми настройками" -#: source/ubl-strings.h:90 -msgid "Reexec systemctl" -msgstr "Перезапустить systemctl" +#: source/ubl-strings.h:95 +msgid "Reexec systemd" +msgstr "Перезапустить systemd" -#: source/ubl-strings.h:91 +#: source/ubl-strings.h:96 msgid "Show service information" msgstr "Показать информацию о сервисе" -#: source/ubl-strings.h:92 +#: source/ubl-strings.h:97 msgid "Show service log" msgstr "Открыть лог сервиса" -#: source/ubl-strings.h:93 +#: source/ubl-strings.h:98 msgid "Show service source file" msgstr "Показать конфигурационный файл сервиса" -#: source/ubl-strings.h:94 +#: source/ubl-strings.h:99 msgid "Show service properties" msgstr "Открыть свойства сервиса" -#: source/ubl-strings.h:95 +#: source/ubl-strings.h:100 msgid "Show..." msgstr "Показать..." -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:102 msgid "Edit configuration file" msgstr "Редактировать в конфигурации" -#: source/ubl-strings.h:99 +#: source/ubl-strings.h:104 msgid "Show inactive" msgstr "Показать неактивные" -#: source/ubl-strings.h:100 +#: source/ubl-strings.h:105 msgid "Show unloaded" msgstr "Показать незагруженные" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:107 msgid "File" msgstr "Файл" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:108 msgid "Change date" msgstr "Изменён" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:109 msgid "Description" msgstr "Описание" -#: source/ubl-strings.h:105 +#: source/ubl-strings.h:110 msgid "Edit" msgstr "Редактировать" -#: source/ubl-strings.h:107 +#: source/ubl-strings.h:112 msgid "Session ID" msgstr "ID сессии" -#: source/ubl-strings.h:108 +#: source/ubl-strings.h:113 msgid "User ID" msgstr "ID пользователя" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:114 msgid "User name" msgstr "Имя пользователя" -#: source/ubl-strings.h:110 +#: source/ubl-strings.h:115 msgid "Seat ID" msgstr "Seat ID" -#: source/ubl-strings.h:112 +#: source/ubl-strings.h:117 msgid "Start session" msgstr "Запустить сессию" -#: source/ubl-strings.h:113 +#: source/ubl-strings.h:118 msgid "Stop session" msgstr "Остановить сессию" -#: source/ubl-strings.h:114 +#: source/ubl-strings.h:119 msgid "Lock session" msgstr "Заблокировать сессию" -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:121 msgid "Timer" msgstr "Таймер" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:122 msgid "Next" msgstr "Следующий" -#: source/ubl-strings.h:118 +#: source/ubl-strings.h:123 msgid "Left" msgstr "Осталось времени" -#: source/ubl-strings.h:119 +#: source/ubl-strings.h:124 msgid "Last" msgstr "Последний" -#: source/ubl-strings.h:120 +#: source/ubl-strings.h:125 msgid "Passed" msgstr "Пройденный" -#: source/ubl-strings.h:121 +#: source/ubl-strings.h:126 msgid "Activates" msgstr "Активируется" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:128 msgid "active" msgstr "активен" -#: source/ubl-strings.h:124 +#: source/ubl-strings.h:129 msgid "dead" msgstr "остановлен" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:130 msgid "waiting" msgstr "ожидание" -#: source/ubl-strings.h:126 +#: source/ubl-strings.h:131 msgid "running" msgstr "работает" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:132 msgid "listening" msgstr "прослушивание" -#: source/ubl-strings.h:128 +#: source/ubl-strings.h:133 msgid "exited" msgstr "завершён" -#: source/ubl-strings.h:129 +#: source/ubl-strings.h:134 msgid "mounted" msgstr "примонтирован" -#: source/ubl-strings.h:130 +#: source/ubl-strings.h:135 msgid "plugged" msgstr "подключен" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:136 msgid "abandoned" msgstr "заброшен" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:138 msgid "State of " msgstr "Состояние сервиса " -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:139 msgid "View" msgstr "Просмотр" -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:139 msgid "log" msgstr "лога" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:140 msgid "Edit unit file" msgstr "Редактировать юнит-файл" -#: source/ubl-strings.h:137 +#: source/ubl-strings.h:142 msgid "Failed to re-execute systemd" msgstr "Ошибка перезагрузки systemd" -#: source/ubl-strings.h:138 +#: source/ubl-strings.h:143 msgid "failed to relaunch systemd" msgstr "Ошибка перезапуска systemd" -#: source/ubl-strings.h:140 +#: source/ubl-strings.h:145 msgid "Systemd has been re-executed" msgstr "Systemd был успешно перезапущен" -#: source/ubl-strings.h:141 +#: source/ubl-strings.h:146 msgid "Systemd has been relaunched" msgstr "Systemd был успешно перезагружен" -#: source/ubl-strings.h:143 +#: source/ubl-strings.h:148 +msgid "Service has been successfully restarted" +msgstr "Сервис был успешно перезапущен" + +#: source/ubl-strings.h:150 msgid "Save" msgstr "Сохранить"