Merge pull request 'master' (#95) from YanTheKaller/ubl-settings-logging:master into master

Reviewed-on: #95
pull/139/head v2.3
Dmitry Razumov 2 years ago
commit e070301f81

@ -167,7 +167,7 @@ saving_window *yon_save_proceed(char *path,YON_CONFIG_TYPE type, ...){
window->type=type; window->type=type;
yon_window_config_custom_window_setup(GTK_WINDOW(window->Window),"SaveWindow"); yon_window_config_custom_window_setup(GTK_WINDOW(window->Window),"SaveWindow");
yon_window_config_custom_window_get(GTK_WINDOW(window->Window),"SaveWindow"); yon_window_config_custom_window_get(GTK_WINDOW(window->Window),"SaveWindow");
gtk_window_set_title(GTK_WINDOW(window->Window),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(window->Window),SAVE_TITLE_LABEL);
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),NULL); g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),NULL);
g_signal_connect(G_OBJECT(window->SaveButton),"clicked", G_CALLBACK(on_save_parameters),window); g_signal_connect(G_OBJECT(window->SaveButton),"clicked", G_CALLBACK(on_save_parameters),window);
g_signal_connect(G_OBJECT(window->ToggleCell),"toggled", G_CALLBACK(on_save_window_parameter_switched),window); g_signal_connect(G_OBJECT(window->ToggleCell),"toggled", G_CALLBACK(on_save_window_parameter_switched),window);
@ -700,7 +700,7 @@ void on_inspector_open(GtkWidget *self, main_window *widgets){
window->JournaldTree=yon_gtk_builder_get_widget(builder,"JournaldTree"); window->JournaldTree=yon_gtk_builder_get_widget(builder,"JournaldTree");
window->list=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1")); window->list=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
yon_window_config_custom_window_setup(GTK_WINDOW(window->MainWindow),"InspectorWindow"); yon_window_config_custom_window_setup(GTK_WINDOW(window->MainWindow),"InspectorWindow");
gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(window->MainWindow),INSPECTOR_TITLE_LABEL);
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window)); gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
GtkTreeModel *model = GTK_TREE_MODEL(widgets->list); GtkTreeModel *model = GTK_TREE_MODEL(widgets->list);
GList *list = gtk_tree_view_get_columns(GTK_TREE_VIEW(window->JournaldTree)); GList *list = gtk_tree_view_get_columns(GTK_TREE_VIEW(window->JournaldTree));
@ -897,7 +897,7 @@ void on_logrotate_configuration_path_filechooser_open(GtkWidget *self, logrotate
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog->FileChooser),filter); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog->FileChooser),filter);
dictionary *dict = NULL; dictionary *dict = NULL;
gtk_window_set_title(GTK_WINDOW(dialog->FileChooser),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(dialog->FileChooser),FILECHOOSER_TITLE_LABEL);
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
yon_dictionary_add_or_create_if_exists_with_data(dict,"dialog",dialog); yon_dictionary_add_or_create_if_exists_with_data(dict,"dialog",dialog);
g_signal_connect(G_OBJECT(dialog->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),"FileDialog"); g_signal_connect(G_OBJECT(dialog->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),"FileDialog");
@ -1117,7 +1117,7 @@ void on_rules_open(GtkWidget *self,GtkEntry *entry){
window->CancelButton=yon_gtk_builder_get_widget(builder,"CancelButton"); window->CancelButton=yon_gtk_builder_get_widget(builder,"CancelButton");
window->SaveButton=yon_gtk_builder_get_widget(builder,"SaveButton"); window->SaveButton=yon_gtk_builder_get_widget(builder,"SaveButton");
yon_window_config_custom_window_set(GTK_WINDOW(window->Window),"RulesWindow"); yon_window_config_custom_window_set(GTK_WINDOW(window->Window),"RulesWindow");
gtk_window_set_title(GTK_WINDOW(window->Window),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(window->Window),RULES_TITLE_LABEL);
dictionary *dict = NULL; dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"entry",entry); yon_dictionary_add_or_create_if_exists_with_data(dict,"entry",entry);
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
@ -1164,7 +1164,7 @@ void on_filechooser_open(GtkWidget *self, logrotate_configure_window *window){
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(window->MainWindow)); gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(window->MainWindow));
dictionary *dict = NULL; dictionary *dict = NULL;
gtk_window_set_title(GTK_WINDOW(dialog->FileChooser),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(dialog->FileChooser),FILECHOOSER_TITLE_LABEL);
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
yon_dictionary_add_or_create_if_exists_with_data(dict,"dialog",dialog); yon_dictionary_add_or_create_if_exists_with_data(dict,"dialog",dialog);
g_signal_connect(G_OBJECT(dialog->FileOrDirCheck),"toggled",G_CALLBACK(on_filechooser_mode_switch),dialog); g_signal_connect(G_OBJECT(dialog->FileOrDirCheck),"toggled",G_CALLBACK(on_filechooser_mode_switch),dialog);
@ -1574,7 +1574,7 @@ logrotate_configure_window *yon_logrotate_window_new(char *paths, logrotate_wind
window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox"); window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
yon_window_config_custom_window_get(GTK_WINDOW(window->MainWindow),"LogrotateWindow"); yon_window_config_custom_window_get(GTK_WINDOW(window->MainWindow),"LogrotateWindow");
gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(window->MainWindow),LOGROTATE_TITLE_LABEL);
if (dialog) if (dialog)
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(dialog->Window)); gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(dialog->Window));
window->paths=paths; window->paths=paths;
@ -1591,6 +1591,7 @@ logrotate_configure_window *yon_logrotate_window_new(char *paths, logrotate_wind
} }
config_str logsize = yon_config_load(logrotate_size_command(temp_paths),&sz); config_str logsize = yon_config_load(logrotate_size_command(temp_paths),&sz);
for (int i=0;i<sz;i++){ for (int i=0;i<sz;i++){
if (logsize[i][strlen(logsize[i])-1]=='\n') logsize[i][strlen(logsize[i])-1]='\0';
finalsize+=atof(logsize[i]); finalsize+=atof(logsize[i]);
} }
int sizenumber=0; int sizenumber=0;
@ -1916,6 +1917,7 @@ void on_log_edit_logrotate_settings(GtkWidget *self, dictionary *dict){
pathse=yon_char_unite(pathse ? yon_char_append(pathse,","):"",gtk_entry_get_text((GtkEntry*)g_list_nth_data(paths,1)),NULL); pathse=yon_char_unite(pathse ? yon_char_append(pathse,","):"",gtk_entry_get_text((GtkEntry*)g_list_nth_data(paths,1)),NULL);
} }
logrotate_configure_window *dialog = yon_logrotate_window_new(pathse,NULL,name); logrotate_configure_window *dialog = yon_logrotate_window_new(pathse,NULL,name);
gtk_window_set_transient_for(GTK_WINDOW(dialog->MainWindow),GTK_WINDOW(window->MainWindow));
gtk_widget_show(dialog->MainWindow); gtk_widget_show(dialog->MainWindow);
gtk_entry_set_text(GTK_ENTRY(dialog->LogNameEntry),name); gtk_entry_set_text(GTK_ENTRY(dialog->LogNameEntry),name);
gtk_entry_set_text(GTK_ENTRY(dialog->LogDescriptionEntry),description); gtk_entry_set_text(GTK_ENTRY(dialog->LogDescriptionEntry),description);
@ -1969,7 +1971,9 @@ void on_logrotate_tab_open(GtkWidget *self, main_window *widgets){
window->RemoveButton = yon_gtk_builder_get_widget(builder,"RemoveButton"); window->RemoveButton = yon_gtk_builder_get_widget(builder,"RemoveButton");
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
yon_window_config_custom_window_get(GTK_WINDOW(window->Window),"LogrotateTabWindow"); yon_window_config_custom_window_get(GTK_WINDOW(window->Window),"LogrotateTabWindow");
gtk_window_set_title(GTK_WINDOW(window->Window),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(window->Window),TABLE_TITLE_LABEL);
gtk_window_set_transient_for(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window));
gtk_tree_view_set_model(GTK_TREE_VIEW(window->MainTree),GTK_TREE_MODEL(main_config.logrotate_list)); gtk_tree_view_set_model(GTK_TREE_VIEW(window->MainTree),GTK_TREE_MODEL(main_config.logrotate_list));
gtk_tree_view_set_model(GTK_TREE_VIEW(window->AppsMainTree),GTK_TREE_MODEL(main_config.logrotate_apps_list)); gtk_tree_view_set_model(GTK_TREE_VIEW(window->AppsMainTree),GTK_TREE_MODEL(main_config.logrotate_apps_list));
@ -2194,16 +2198,17 @@ journald_window *yon_journald_open(GtkWidget *self, main_window *widgets){
window->LowerTimeButton=yon_gtk_builder_get_widget(builder,"LowerTimeButton"); window->LowerTimeButton=yon_gtk_builder_get_widget(builder,"LowerTimeButton");
window->headerTopic=yon_gtk_builder_get_widget(builder,"headerTopic"); window->headerTopic=yon_gtk_builder_get_widget(builder,"headerTopic");
yon_window_config_custom_window_get(GTK_WINDOW(window->MainWindow),"JournaldWindow"); yon_window_config_custom_window_setup(GTK_WINDOW(window->MainWindow),"JournaldWindow");
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window)); gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
{ {
int sz; int sz;
config_str logsize = yon_config_load(journald_size_command,&sz); config_str logsize = yon_config_load(journald_size_command,&sz);
if (logsize) if (logsize)
if (logsize[0][strlen(logsize[0])-1]=='\n') logsize[0][strlen(logsize[0])-1]='\0';
gtk_label_set_text(GTK_LABEL(window->LogSizeLabel),logsize[0]); gtk_label_set_text(GTK_LABEL(window->LogSizeLabel),logsize[0]);
} }
gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(window->MainWindow),JOURNALD_TITLE_LABEL);
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),"JournaldWindow"); g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),"JournaldWindow");
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_journald_save),window); g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_journald_save),window);
@ -2406,7 +2411,7 @@ add_log_window *on_add_open(main_window *widgets){
window->LogPathsBox=yon_gtk_builder_get_widget(builder,"LogPathsBox"); window->LogPathsBox=yon_gtk_builder_get_widget(builder,"LogPathsBox");
window->NameEntry=yon_gtk_builder_get_widget(builder,"NameEntry"); window->NameEntry=yon_gtk_builder_get_widget(builder,"NameEntry");
window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox"); window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
gtk_window_set_title(GTK_WINDOW(window->MainWindow),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(window->MainWindow),MONITOR_TITLE_LABEL);
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window)); gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
dictionary *dict = NULL; dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
@ -2495,7 +2500,7 @@ void on_log_path_filechooser_open(GtkWidget *self, GtkEntry *entry){
gtk_window_set_transient_for(GTK_WINDOW(dialog->FileChooser),GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(entry)))); gtk_window_set_transient_for(GTK_WINDOW(dialog->FileChooser),GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(entry))));
dictionary *dict = NULL; dictionary *dict = NULL;
gtk_window_set_title(GTK_WINDOW(dialog->FileChooser),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(dialog->FileChooser),FILECHOOSER_TITLE_LABEL);
yon_dictionary_add_or_create_if_exists_with_data(dict,"entry",entry); yon_dictionary_add_or_create_if_exists_with_data(dict,"entry",entry);
yon_dictionary_add_or_create_if_exists_with_data(dict,"dialog",dialog); yon_dictionary_add_or_create_if_exists_with_data(dict,"dialog",dialog);
@ -2598,10 +2603,44 @@ void on_log_edit(GtkWidget *self,main_window *widgets){
int sz; int sz;
config_str logsize = yon_config_load(journald_size_command,&sz); config_str logsize = yon_config_load(journald_size_command,&sz);
if (logsize) if (logsize)
if (logsize[0][strlen(logsize[0])-1]=='\n') logsize[0][strlen(logsize[0])-1]='\0';
gtk_label_set_text(GTK_LABEL(window->LogSizeLabel),logsize[0]); gtk_label_set_text(GTK_LABEL(window->LogSizeLabel),logsize[0]);
g_signal_connect(G_OBJECT(window->JournaldButton),"clicked", G_CALLBACK(on_journald_open),widgets); g_signal_connect(G_OBJECT(window->JournaldButton),"clicked", G_CALLBACK(on_journald_open),widgets);
} else { } else {
gtk_widget_hide(window->JournaldButton); gtk_widget_hide(window->JournaldButton);
if (paths){
int sz;
float finalsize=0.0;
char *temp_paths = yon_char_new(paths);
config_str parsed_paths = yon_char_parse(temp_paths,&sz,"\n");
free(temp_paths);
temp_paths=NULL;
for (int i=0;i<sz;i++){
if (!access(parsed_paths[i],F_OK))
temp_paths = yon_char_unite(temp_paths ? yon_char_append(temp_paths," ") : "",parsed_paths[i],NULL);
else {
int mask_size=0;
char *mask = yon_char_new(parsed_paths[i]);
char *path_mask = yon_char_divide(mask,yon_char_find_last(mask,'/'));
config_str mask_found = yon_dir_get_by_mask(path_mask,mask,&mask_size);
for (int l=0;l<mask_size;l++){
temp_paths = yon_char_unite(temp_paths ? yon_char_append(temp_paths," ") : "",path_mask,"/",mask_found[l],NULL);
}
}
}
if (!yon_char_is_empty(temp_paths)){
config_str logsize = yon_config_load(logrotate_size_command(temp_paths),&sz);
for (int i=0;i<sz;i++){
if (logsize[i][strlen(logsize[i])-1]=='\n') logsize[i][strlen(logsize[i])-1]='\0';
finalsize+=atof(logsize[i]);
}
int sizenumber=0;
finalsize = yon_size_convert_automatic(finalsize,&sizenumber);
char *fin = yon_char_from_float(finalsize);
gtk_label_set_text(GTK_LABEL(window->LogSizeLabel),yon_char_append(fin,yon_size_get_letter_from_int(sizenumber)));
gtk_widget_show(window->StatisticsFrame);
}
}
dictionary *dict = NULL; dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);

@ -39,6 +39,7 @@
#define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) #define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL)
#define journals_list_path "/usr/share/ubl-settings-logging/csv/journals_list.csv" #define journals_list_path "/usr/share/ubl-settings-logging/csv/journals_list.csv"
#define services_list_path "/usr/share/ubl-settings-logging/csv/logging_services.csv" #define services_list_path "/usr/share/ubl-settings-logging/csv/logging_services.csv"
#define logrotate_config_command "ls /etc/logrotate.d/ |sed -e 's/ */\\n/g'" #define logrotate_config_command "ls /etc/logrotate.d/ |sed -e 's/ */\\n/g'"
#define journald_size_command "journalctl --disk-usage | grep -oE \"[0-9]{1,}.[0-9]{1,}[A-Z]\"" #define journald_size_command "journalctl --disk-usage | grep -oE \"[0-9]{1,}.[0-9]{1,}[A-Z]\""
#define logrotate_size_command(paths) yon_char_unite("du ",paths," |grep -oE '^[0-9]{1,}'",NULL) #define logrotate_size_command(paths) yon_char_unite("du ",paths," |grep -oE '^[0-9]{1,}'",NULL)
@ -51,14 +52,14 @@
#define JOURNALD(key) yon_char_unite("JOURNALD[",key,"]",NULL) #define JOURNALD(key) yon_char_unite("JOURNALD[",key,"]",NULL)
#define LOGROTATE(key) yon_char_unite("LOGROTATE[",key,"]",NULL) #define LOGROTATE(key) yon_char_unite("LOGROTATE[",key,"]",NULL)
#define get_journal_output_command "clear;SYSTEMD_COLORS=false journalctl --no-pager" #define get_journal_output_command "clear;journalctl --no-pager"
#define get_journal_output_since_boot_command "clear;SYSTEMD_COLORS=false journalctl --no-pager -b" #define get_journal_output_since_boot_command "clear;journalctl --no-pager -b"
#define get_journal_output_followed_command "clear;SYSTEMD_COLORS=false journalctl --no-pager -f" #define get_journal_output_followed_command "clear;journalctl --no-pager -f"
#define get_journal_output_kernel_command "clear;SYSTEMD_COLORS=false journalctl --no-pager -k" #define get_journal_output_kernel_command "clear;journalctl --no-pager -k"
#define get_journal_output_prioritied_command "clear;SYSTEMD_COLORS=false journalctl --no-pager -p err..alert" #define get_journal_output_prioritied_command "clear;journalctl --no-pager -p err..alert"
#define get_journal_all_boots_command "clear;SYSTEMD_COLORS=false journalctl --no-pager --list-boots" #define get_journal_all_boots_command "clear;journalctl --no-pager --list-boots"
#define get_journal_all_units_command "clear;SYSTEMD_COLORS=false systemd-analyze blame --no-pager" #define get_journal_all_units_command "clear;systemd-analyze blame --no-pager"
#define get_journal_init_tree_command "clear;SYSTEMD_COLORS=false systemd-analyze critical-chain --no-pager" #define get_journal_init_tree_command "clear;systemd-analyze critical-chain --no-pager"
#define group_list_path "/etc/group" #define group_list_path "/etc/group"

@ -72,6 +72,7 @@
#define XSESSION_DESCRIPTION_LABEL _("Graphics X session log") #define XSESSION_DESCRIPTION_LABEL _("Graphics X session log")
//ubl-settings-logging-inspector.glade //ubl-settings-logging-inspector.glade
#define INSPECTOR_TITLE_LABEL _("Logs and events - log inspector")
#define TOOLTIP_BOOT_LABEL _("Show messages since the current system boot") #define TOOLTIP_BOOT_LABEL _("Show messages since the current system boot")
#define TOOLTIP_FOLLOW_LABEL _("Follow for new messages") #define TOOLTIP_FOLLOW_LABEL _("Follow for new messages")
#define TOOLTIP_KERNEL_LABEL _("Show kernel ring buffer") #define TOOLTIP_KERNEL_LABEL _("Show kernel ring buffer")
@ -86,6 +87,7 @@
#define LOG_LABEL _("Log") #define LOG_LABEL _("Log")
//ubl-settings-logging-journald.glade //ubl-settings-logging-journald.glade
#define JOURNALD_TITLE_LABEL _("Logs and events - journald configuration")
#define JOURNAL_DESCRIPTION_LABEL _("Description:") #define JOURNAL_DESCRIPTION_LABEL _("Description:")
#define JOURNAL_STORAGE_LABEL _("Journal storage place:") #define JOURNAL_STORAGE_LABEL _("Journal storage place:")
#define COMPRESSION_LABEL _("Use compression:") #define COMPRESSION_LABEL _("Use compression:")
@ -123,6 +125,7 @@
#define RESET_LABEL _("Reset") #define RESET_LABEL _("Reset")
//ubl-settings-logging-logrotate.glade //ubl-settings-logging-logrotate.glade
#define LOGROTATE_TITLE_LABEL _("Logs and events - logrotate configuration")
#define LOGROTATE_LOG_JOURNAL_TAB_LABEL _("Log/Journal:") #define LOGROTATE_LOG_JOURNAL_TAB_LABEL _("Log/Journal:")
#define PATHS_LABEL _("Paths to log and journals files") #define PATHS_LABEL _("Paths to log and journals files")
#define ON_LABEL _("On") #define ON_LABEL _("On")
@ -200,16 +203,20 @@
#define WRITE_IMPORTANT_LABEL _("Write down all important fields") #define WRITE_IMPORTANT_LABEL _("Write down all important fields")
//ubl-settings-logging-logrotate-table.glade //ubl-settings-logging-logrotate-table.glade
#define TABLE_TITLE_LABEL _("Logs and events - logrotate table")
#define SYSTEM_CONFIGURATION_LABEL _("System configuration") #define SYSTEM_CONFIGURATION_LABEL _("System configuration")
#define APPLITATIONS_CONFIGURATION_LABEL _("Applications configuration") #define APPLITATIONS_CONFIGURATION_LABEL _("Applications configuration")
//ubl-settings-logging-add.glade //ubl-settings-logging-add.glade
#define MONITOR_TITLE_LABEL _("Logs and events - journal configuration")
#define ADD_PATHS_LABEL _("Path (-s):") #define ADD_PATHS_LABEL _("Path (-s):")
#define CONTROL_LABEL _("Control:") #define CONTROL_LABEL _("Control:")
#define LOG_FILE_LABEL _("Log file") #define LOG_FILE_LABEL _("Log file")
#define NAME_LABEL _("Name:") #define NAME_LABEL _("Name:")
#define TOTAL_LOG_SIZE_LABEL _("Log size:")
//ubl-settings-logging-rules.glade //ubl-settings-logging-rules.glade
#define RULES_TITLE_LABEL _("Logs and events - rules")
#define OWNER_LABEL _("Owner rules") #define OWNER_LABEL _("Owner rules")
#define GROUP_LABEL _("Group rules") #define GROUP_LABEL _("Group rules")
#define PUBLIC_LABEL _("Public rules") #define PUBLIC_LABEL _("Public rules")
@ -222,4 +229,7 @@
#define PATH_NOT_FOUND_LABEL _(": no such file(s)") #define PATH_NOT_FOUND_LABEL _(": no such file(s)")
#define PARAMETER_LABEL _("Parameter") #define PARAMETER_LABEL _("Parameter")
#define OLD_VALUE_LABEL _("Old value") #define OLD_VALUE_LABEL _("Old value")
#define NEW_VALUE_LABEL _("New value") #define NEW_VALUE_LABEL _("New value")
#define FILECHOOSER_TITLE_LABEL _("Logs and events - choose a path")
#define SAVE_TITLE_LABEL _("Logs and events - saving")

@ -877,6 +877,41 @@ config_str yon_dir_get_contents(char *dir_path, int *size){
return dir; return dir;
} }
config_str yon_dir_get_by_mask(char *path, char *mask, int *size){
(*size)=0;
if (yon_char_find_count(mask,"*")<=1){
char *lpart;
char *rpart=yon_char_new(mask);
lpart = yon_char_divide_search(rpart,"*",-1);
config_str files = NULL;
int found_size;
config_str found_files = yon_dir_get_contents(path,&found_size);
int found = 1;
int rfound = 0;
for (int i=0;i<found_size;i++){
found = 1;
int c;
for (c=0;c<strlen(found_files[i]);c++){
if (found_files[i][c]!=lpart[c]){
found=0;
break;
}
if (c==strlen(lpart)-1) break;
}
if (found){
for (int l=c;l<strlen(found_files[i]);l++){
if (found_files[i][l]==rpart[rfound]) rfound++;
else rfound=0;
}
if (rfound==strlen(rpart)) {
yon_char_parsed_add_or_create_if_exists(files,size,found_files[i]);
}
}
}
return files;
}
}
//config functions //config functions
typedef struct yon_config_parameter typedef struct yon_config_parameter
@ -1659,7 +1694,7 @@ void yon_terminal_integrated_start(GtkWidget *terminal, char* command, void *end
} }
} }
void yon_on_window_config_custom_window_destroy(GtkWindow *window, char *window_name){ void yon_on_window_config_custom_window_destroy(GtkWindow *window,GdkEvent* event, char *window_name){
if (!gtk_window_is_maximized(window)){ if (!gtk_window_is_maximized(window)){
int height=0; int height=0;
int width=0; int width=0;
@ -1701,9 +1736,9 @@ void yon_terminal_integrated_start(GtkWidget *terminal, char* command, void *end
gtk_window_resize(window,width,height); gtk_window_resize(window,width,height);
if (X&&Y) if (X&&Y)
gtk_window_move(window,X,Y); gtk_window_move(window,X,Y);
char *signals_window_name = yon_char_new(window_name); // char *signals_window_name = yon_char_new(window_name);
g_signal_connect(G_OBJECT(window),"check-resize",G_CALLBACK(yon_on_window_config_custom_window_resize),signals_window_name); g_signal_connect(G_OBJECT(window),"check-resize",G_CALLBACK(yon_on_window_config_custom_window_resize),window_name);
g_signal_connect(G_OBJECT(window),"delete-event",G_CALLBACK(yon_on_window_config_custom_window_destroy),signals_window_name); g_signal_connect(G_OBJECT(window),"delete-event",G_CALLBACK(yon_on_window_config_custom_window_destroy),window_name);
} }
void yon_window_config_custom_window_get(GtkWindow *window, char *window_name){ void yon_window_config_custom_window_get(GtkWindow *window, char *window_name){

@ -581,6 +581,8 @@ int yon_file_create_full_path(char *path, int rules);
*/ */
config_str yon_dir_get_contents(char *dir_path, int *size); config_str yon_dir_get_contents(char *dir_path, int *size);
config_str yon_dir_get_by_mask(char *path, char *mask, int *size);
//config functions //config functions
#define ubconfig_save_command "ubconfig" #define ubconfig_save_command "ubconfig"

@ -3,13 +3,6 @@
<interface domain="ubl-settings-logging"> <interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css --> <!-- interface-css-provider-path ubl-settings-logging.css -->
<object class="GtkSizeGroup">
<widgets>
<widget name="label1"/>
<widget name="label2"/>
<widget name="label3"/>
</widgets>
</object>
<object class="GtkAdjustment" id="adjustment1"> <object class="GtkAdjustment" id="adjustment1">
<property name="upper">1024</property> <property name="upper">1024</property>
<property name="step-increment">1</property> <property name="step-increment">1</property>
@ -35,6 +28,26 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">emblem-ok-symbolic</property> <property name="icon-name">emblem-ok-symbolic</property>
</object> </object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.sort-symbolic</property>
</object>
<object class="GtkImage" id="image6">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.sort-symbolic</property>
</object>
<object class="GtkImage" id="image7">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.sort-symbolic</property>
</object>
<object class="GtkImage" id="image8">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.sort-symbolic</property>
</object>
<object class="GtkDialog" id="MainWindow"> <object class="GtkDialog" id="MainWindow">
<property name="width-request">450</property> <property name="width-request">450</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -466,7 +479,7 @@
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events</property> <property name="label" translatable="yes">Logs and events - journal configuration</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>
@ -492,24 +505,11 @@
</object> </object>
</child> </child>
</object> </object>
<object class="GtkImage" id="image5"> <object class="GtkSizeGroup">
<property name="visible">True</property> <widgets>
<property name="can-focus">False</property> <widget name="label1"/>
<property name="icon-name">com.ublinux.ubl-settings-logging.sort-symbolic</property> <widget name="label2"/>
</object> <widget name="label3"/>
<object class="GtkImage" id="image6"> </widgets>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.sort-symbolic</property>
</object>
<object class="GtkImage" id="image7">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.sort-symbolic</property>
</object>
<object class="GtkImage" id="image8">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.sort-symbolic</property>
</object> </object>
</interface> </interface>

@ -373,7 +373,7 @@
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events</property> <property name="label" translatable="yes">Logs and events - log inspector</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>

@ -90,6 +90,8 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="modal">True</property> <property name="modal">True</property>
<property name="icon-name">com.ublinux.ubl-settings-logging</property> <property name="icon-name">com.ublinux.ubl-settings-logging</property>
<property name="skip-taskbar-hint">True</property>
<property name="skip-pager-hint">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -1035,7 +1037,7 @@
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events</property> <property name="label" translatable="yes">Logs and events - journald configuration</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>

@ -171,6 +171,9 @@
<object class="GtkTreeView" id="MainTree"> <object class="GtkTreeView" id="MainTree">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Log/Journal</property> <property name="title" translatable="yes">Log/Journal</property>
@ -275,6 +278,9 @@
<object class="GtkTreeView" id="AppsMainTree"> <object class="GtkTreeView" id="AppsMainTree">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Log/Journal</property> <property name="title" translatable="yes">Log/Journal</property>
@ -394,7 +400,7 @@
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events</property> <property name="label" translatable="yes">Logs and events - logrotate table</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>

@ -104,6 +104,8 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="modal">True</property> <property name="modal">True</property>
<property name="icon-name">com.ublinux.ubl-settings-logging</property> <property name="icon-name">com.ublinux.ubl-settings-logging</property>
<property name="skip-taskbar-hint">True</property>
<property name="skip-pager-hint">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -2135,7 +2137,7 @@
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events</property> <property name="label" translatable="yes">Logs and events- logrotate configuration</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>

@ -367,7 +367,7 @@
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events</property> <property name="label" translatable="yes">Logs and events - rules</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>

@ -306,543 +306,579 @@ msgid "Graphics X session log"
msgstr "" msgstr ""
#: source/ubl-strings.h:75 #: source/ubl-strings.h:75
msgid "Show messages since the current system boot" msgid "Logs and events - log inspector"
msgstr "" msgstr ""
#: source/ubl-strings.h:76 #: source/ubl-strings.h:76
msgid "Follow for new messages" msgid "Show messages since the current system boot"
msgstr "" msgstr ""
#: source/ubl-strings.h:77 #: source/ubl-strings.h:77
msgid "Show kernel ring buffer" msgid "Follow for new messages"
msgstr "" msgstr ""
#: source/ubl-strings.h:78 #: source/ubl-strings.h:78
msgid "Show only priority error messages, critical messages and warnings" msgid "Show kernel ring buffer"
msgstr "" msgstr ""
#: source/ubl-strings.h:79 #: source/ubl-strings.h:79
msgid "Show all boots" msgid "Show only priority error messages, critical messages and warnings"
msgstr "" msgstr ""
#: source/ubl-strings.h:80 #: source/ubl-strings.h:80
msgid "Show a list of all units, ordered by the time of their initialisation" msgid "Show all boots"
msgstr "" msgstr ""
#: source/ubl-strings.h:81 #: source/ubl-strings.h:81
msgid "Show tree of time-critical initialization unit chain" msgid "Show a list of all units, ordered by the time of their initialisation"
msgstr "" msgstr ""
#: source/ubl-strings.h:82 #: source/ubl-strings.h:82
msgid "Update" msgid "Show tree of time-critical initialization unit chain"
msgstr "" msgstr ""
#: source/ubl-strings.h:83 #: source/ubl-strings.h:83
msgid "Date" msgid "Update"
msgstr "" msgstr ""
#: source/ubl-strings.h:84 #: source/ubl-strings.h:84
msgid "Hostname" msgid "Date"
msgstr "" msgstr ""
#: source/ubl-strings.h:85 #: source/ubl-strings.h:85
msgid "Process" msgid "Hostname"
msgstr "" msgstr ""
#: source/ubl-strings.h:86 #: source/ubl-strings.h:86
msgid "Process"
msgstr ""
#: source/ubl-strings.h:87
msgid "Log" msgid "Log"
msgstr "" msgstr ""
#: source/ubl-strings.h:89 #: source/ubl-strings.h:90
msgid "Logs and events - journald configuration"
msgstr ""
#: source/ubl-strings.h:91
msgid "Description:" msgid "Description:"
msgstr "" msgstr ""
#: source/ubl-strings.h:90 #: source/ubl-strings.h:92
msgid "Journal storage place:" msgid "Journal storage place:"
msgstr "" msgstr ""
#: source/ubl-strings.h:91 source/ubl-strings.h:92 #: source/ubl-strings.h:93 source/ubl-strings.h:94
msgid "Use compression:" msgid "Use compression:"
msgstr "" msgstr ""
#: source/ubl-strings.h:93 #: source/ubl-strings.h:95
msgid "Split journal files:" msgid "Split journal files:"
msgstr "" msgstr ""
#: source/ubl-strings.h:94 #: source/ubl-strings.h:96
msgid "Log recording journal interval:" msgid "Log recording journal interval:"
msgstr "" msgstr ""
#: source/ubl-strings.h:95 #: source/ubl-strings.h:97
msgid "Records amount:" msgid "Records amount:"
msgstr "" msgstr ""
#: source/ubl-strings.h:96 #: source/ubl-strings.h:98
msgid "Maximum size of all logs:" msgid "Maximum size of all logs:"
msgstr "" msgstr ""
#: source/ubl-strings.h:97 #: source/ubl-strings.h:99
msgid "Maximum size of rotation journal:" msgid "Maximum size of rotation journal:"
msgstr "" msgstr ""
#: source/ubl-strings.h:98 #: source/ubl-strings.h:100
msgid "Leave free space at storage:" msgid "Leave free space at storage:"
msgstr "" msgstr ""
#: source/ubl-strings.h:99 #: source/ubl-strings.h:101
msgid "Redirect to console:" msgid "Redirect to console:"
msgstr "" msgstr ""
#: source/ubl-strings.h:100 #: source/ubl-strings.h:102
msgid "TTY:" msgid "TTY:"
msgstr "" msgstr ""
#: source/ubl-strings.h:101 #: source/ubl-strings.h:103
msgid "Type of forwarded messages:" msgid "Type of forwarded messages:"
msgstr "" msgstr ""
#: source/ubl-strings.h:102 #: source/ubl-strings.h:104
msgid "Journal configuration" msgid "Journal configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:103 #: source/ubl-strings.h:105
msgid "Total log size:" msgid "Total log size:"
msgstr "" msgstr ""
#: source/ubl-strings.h:104 #: source/ubl-strings.h:106
msgid "Lower size to:" msgid "Lower size to:"
msgstr "" msgstr ""
#: source/ubl-strings.h:105 #: source/ubl-strings.h:107
msgid "Apply" msgid "Apply"
msgstr "" msgstr ""
#: source/ubl-strings.h:106 #: source/ubl-strings.h:108
msgid "Statistics" msgid "Statistics"
msgstr "" msgstr ""
#: source/ubl-strings.h:107 #: source/ubl-strings.h:109
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: source/ubl-strings.h:108 #: source/ubl-strings.h:110
msgid "RAM" msgid "RAM"
msgstr "" msgstr ""
#: source/ubl-strings.h:109 #: source/ubl-strings.h:111
msgid "Drive" msgid "Drive"
msgstr "" msgstr ""
#: source/ubl-strings.h:110 #: source/ubl-strings.h:112
msgid "Auto" msgid "Auto"
msgstr "" msgstr ""
#: source/ubl-strings.h:111 #: source/ubl-strings.h:113
msgid "None" msgid "None"
msgstr "" msgstr ""
#: source/ubl-strings.h:112 #: source/ubl-strings.h:114
msgid "Yes" msgid "Yes"
msgstr "" msgstr ""
#: source/ubl-strings.h:113 #: source/ubl-strings.h:115
msgid "No" msgid "No"
msgstr "" msgstr ""
#: source/ubl-strings.h:114 #: source/ubl-strings.h:116
msgid "After" msgid "After"
msgstr "" msgstr ""
#: source/ubl-strings.h:115 #: source/ubl-strings.h:117
msgid "Kb" msgid "Kb"
msgstr "" msgstr ""
#: source/ubl-strings.h:116 #: source/ubl-strings.h:118
msgid "Mb" msgid "Mb"
msgstr "" msgstr ""
#: source/ubl-strings.h:117 #: source/ubl-strings.h:119
msgid "Gb" msgid "Gb"
msgstr "" msgstr ""
#: source/ubl-strings.h:118 #: source/ubl-strings.h:120
msgid "Minutes" msgid "Minutes"
msgstr "" msgstr ""
#: source/ubl-strings.h:119 #: source/ubl-strings.h:121
msgid "Hours" msgid "Hours"
msgstr "" msgstr ""
#: source/ubl-strings.h:120 #: source/ubl-strings.h:122
msgid "Days" msgid "Days"
msgstr "" msgstr ""
#: source/ubl-strings.h:121 #: source/ubl-strings.h:123
msgid "Weeks" msgid "Weeks"
msgstr "" msgstr ""
#: source/ubl-strings.h:122 #: source/ubl-strings.h:124
msgid "Years" msgid "Years"
msgstr "" msgstr ""
#: source/ubl-strings.h:123 #: source/ubl-strings.h:125
msgid "Reset" msgid "Reset"
msgstr "" msgstr ""
#: source/ubl-strings.h:126 #: source/ubl-strings.h:128
msgid "Logs and events - logrotate configuration"
msgstr ""
#: source/ubl-strings.h:129
msgid "Log/Journal:" msgid "Log/Journal:"
msgstr "" msgstr ""
#: source/ubl-strings.h:127 #: source/ubl-strings.h:130
msgid "Paths to log and journals files" msgid "Paths to log and journals files"
msgstr "" msgstr ""
#: source/ubl-strings.h:128 #: source/ubl-strings.h:131
msgid "On" msgid "On"
msgstr "" msgstr ""
#: source/ubl-strings.h:129 #: source/ubl-strings.h:132
msgid "Off" msgid "Off"
msgstr "" msgstr ""
#: source/ubl-strings.h:130 source/ubl-strings.h:184 #: source/ubl-strings.h:133 source/ubl-strings.h:187
msgid "Scenarios" msgid "Scenarios"
msgstr "" msgstr ""
#: source/ubl-strings.h:131 source/ubl-strings.h:183 #: source/ubl-strings.h:134 source/ubl-strings.h:186
msgid "Scenarios are running for each rotated journal" msgid "Scenarios are running for each rotated journal"
msgstr "" msgstr ""
#: source/ubl-strings.h:132 #: source/ubl-strings.h:135
msgid "Command before rotation (one time):" msgid "Command before rotation (one time):"
msgstr "" msgstr ""
#: source/ubl-strings.h:133 #: source/ubl-strings.h:136
msgid "Command after rotation (one time):" msgid "Command after rotation (one time):"
msgstr "" msgstr ""
#: source/ubl-strings.h:134 #: source/ubl-strings.h:137
msgid "Command before rotation:" msgid "Command before rotation:"
msgstr "" msgstr ""
#: source/ubl-strings.h:135 #: source/ubl-strings.h:138
msgid "Command after rotation:" msgid "Command after rotation:"
msgstr "" msgstr ""
#: source/ubl-strings.h:136 #: source/ubl-strings.h:139
msgid "Rotation period:" msgid "Rotation period:"
msgstr "" msgstr ""
#: source/ubl-strings.h:137 #: source/ubl-strings.h:140
msgid "Maximum size of file:" msgid "Maximum size of file:"
msgstr "" msgstr ""
#: source/ubl-strings.h:138 #: source/ubl-strings.h:141
msgid "Checking frequency configuration" msgid "Checking frequency configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:139 #: source/ubl-strings.h:142
msgid "File amount:" msgid "File amount:"
msgstr "" msgstr ""
#: source/ubl-strings.h:140 #: source/ubl-strings.h:143
msgid "Store at:" msgid "Store at:"
msgstr "" msgstr ""
#: source/ubl-strings.h:141 #: source/ubl-strings.h:144
msgid "Rotation as user:" msgid "Rotation as user:"
msgstr "" msgstr ""
#: source/ubl-strings.h:142 #: source/ubl-strings.h:145
msgid "Rotation as group:" msgid "Rotation as group:"
msgstr "" msgstr ""
#: source/ubl-strings.h:143 #: source/ubl-strings.h:146
msgid "Rotation configuration" msgid "Rotation configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:144 #: source/ubl-strings.h:147
msgid "Error processing:" msgid "Error processing:"
msgstr "" msgstr ""
#: source/ubl-strings.h:145 #: source/ubl-strings.h:148
msgid "Rotation of jurnal even when it is empty:" msgid "Rotation of jurnal even when it is empty:"
msgstr "" msgstr ""
#: source/ubl-strings.h:146 #: source/ubl-strings.h:149
msgid "Do not rotate journal younger than" msgid "Do not rotate journal younger than"
msgstr "" msgstr ""
#: source/ubl-strings.h:147 #: source/ubl-strings.h:150
msgid "days" msgid "days"
msgstr "" msgstr ""
#: source/ubl-strings.h:148 #: source/ubl-strings.h:151
msgid "Delete rotated journals older than" msgid "Delete rotated journals older than"
msgstr "" msgstr ""
#: source/ubl-strings.h:149 #: source/ubl-strings.h:152
msgid "Rotate journals if size more than" msgid "Rotate journals if size more than"
msgstr "" msgstr ""
#: source/ubl-strings.h:150 #: source/ubl-strings.h:153
msgid "but not earlier than the specified time interval" msgid "but not earlier than the specified time interval"
msgstr "" msgstr ""
#: source/ubl-strings.h:151 #: source/ubl-strings.h:154
msgid "before specified time interval" msgid "before specified time interval"
msgstr "" msgstr ""
#: source/ubl-strings.h:152 #: source/ubl-strings.h:155
msgid "File choosing configuration" msgid "File choosing configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:153 #: source/ubl-strings.h:156
msgid "Create log" msgid "Create log"
msgstr "" msgstr ""
#: source/ubl-strings.h:154 #: source/ubl-strings.h:157
msgid "as user:" msgid "as user:"
msgstr "" msgstr ""
#: source/ubl-strings.h:155 #: source/ubl-strings.h:158
msgid "as group:" msgid "as group:"
msgstr "" msgstr ""
#: source/ubl-strings.h:156 #: source/ubl-strings.h:159
msgid "rules:" msgid "rules:"
msgstr "" msgstr ""
#: source/ubl-strings.h:157 #: source/ubl-strings.h:160
msgid "" msgid ""
"Cut source journal fileafter copy creating instead of moving old journal " "Cut source journal fileafter copy creating instead of moving old journal "
"file and creating new one" "file and creating new one"
msgstr "" msgstr ""
#: source/ubl-strings.h:158 #: source/ubl-strings.h:161
msgid "Files and directories configuration" msgid "Files and directories configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:159 #: source/ubl-strings.h:162
msgid "Delay compression by one journal in queue:" msgid "Delay compression by one journal in queue:"
msgstr "" msgstr ""
#: source/ubl-strings.h:160 #: source/ubl-strings.h:163
msgid "Compression configuration" msgid "Compression configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:161 #: source/ubl-strings.h:164
msgid "Save original log file after rotation if it has specified extension:" msgid "Save original log file after rotation if it has specified extension:"
msgstr "" msgstr ""
#: source/ubl-strings.h:162 #: source/ubl-strings.h:165
msgid "Add date of rotation before log header" msgid "Add date of rotation before log header"
msgstr "" msgstr ""
#: source/ubl-strings.h:163 #: source/ubl-strings.h:166
msgid "Number from which numbering of old logs will begin" msgid "Number from which numbering of old logs will begin"
msgstr "" msgstr ""
#: source/ubl-strings.h:164 #: source/ubl-strings.h:167
msgid "Filename configuration" msgid "Filename configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:165 #: source/ubl-strings.h:168
msgid "Email after rotation:" msgid "Email after rotation:"
msgstr "" msgstr ""
#: source/ubl-strings.h:166 #: source/ubl-strings.h:169
msgid "adress:" msgid "adress:"
msgstr "" msgstr ""
#: source/ubl-strings.h:167 #: source/ubl-strings.h:170
msgid "contents:" msgid "contents:"
msgstr "" msgstr ""
#: source/ubl-strings.h:168 source/ubl-strings.h:181 #: source/ubl-strings.h:171 source/ubl-strings.h:184
msgid "Message configuration" msgid "Message configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:169 #: source/ubl-strings.h:172
msgid "Manual input:" msgid "Manual input:"
msgstr "" msgstr ""
#: source/ubl-strings.h:170 #: source/ubl-strings.h:173
msgid "Log (-s) size:" msgid "Log (-s) size:"
msgstr "" msgstr ""
#: source/ubl-strings.h:171 #: source/ubl-strings.h:174
msgid "Same directory" msgid "Same directory"
msgstr "" msgstr ""
#: source/ubl-strings.h:172 #: source/ubl-strings.h:175
msgid "Separate directory" msgid "Separate directory"
msgstr "" msgstr ""
#: source/ubl-strings.h:173 #: source/ubl-strings.h:176
msgid "Output errors if log file does not exist*" msgid "Output errors if log file does not exist*"
msgstr "" msgstr ""
#: source/ubl-strings.h:174 #: source/ubl-strings.h:177
msgid "Do not output errors if log file does not exist" msgid "Do not output errors if log file does not exist"
msgstr "" msgstr ""
#: source/ubl-strings.h:175 #: source/ubl-strings.h:178
msgid "Do not output" msgid "Do not output"
msgstr "" msgstr ""
#: source/ubl-strings.h:176 #: source/ubl-strings.h:179
msgid "Output errors" msgid "Output errors"
msgstr "" msgstr ""
#: source/ubl-strings.h:177 #: source/ubl-strings.h:180
msgid "Send Email" msgid "Send Email"
msgstr "" msgstr ""
#: source/ubl-strings.h:178 #: source/ubl-strings.h:181
msgid "Don't send Email" msgid "Don't send Email"
msgstr "" msgstr ""
#: source/ubl-strings.h:179 #: source/ubl-strings.h:182
msgid "First rotated copy" msgid "First rotated copy"
msgstr "" msgstr ""
#: source/ubl-strings.h:180 #: source/ubl-strings.h:183
msgid "Last rotated copy" msgid "Last rotated copy"
msgstr "" msgstr ""
#: source/ubl-strings.h:182 #: source/ubl-strings.h:185
msgid "Endwork command:" msgid "Endwork command:"
msgstr "" msgstr ""
#: source/ubl-strings.h:185 #: source/ubl-strings.h:188
msgid "Hourly" msgid "Hourly"
msgstr "" msgstr ""
#: source/ubl-strings.h:186 #: source/ubl-strings.h:189
msgid "Daily" msgid "Daily"
msgstr "" msgstr ""
#: source/ubl-strings.h:187 #: source/ubl-strings.h:190
msgid "Weekly*" msgid "Weekly*"
msgstr "" msgstr ""
#: source/ubl-strings.h:188 #: source/ubl-strings.h:191
msgid "Monthly" msgid "Monthly"
msgstr "" msgstr ""
#: source/ubl-strings.h:189 #: source/ubl-strings.h:192
msgid "Yearly" msgid "Yearly"
msgstr "" msgstr ""
#: source/ubl-strings.h:190 #: source/ubl-strings.h:193
msgid "Monday" msgid "Monday"
msgstr "" msgstr ""
#: source/ubl-strings.h:191 #: source/ubl-strings.h:194
msgid "Tuesday" msgid "Tuesday"
msgstr "" msgstr ""
#: source/ubl-strings.h:192 #: source/ubl-strings.h:195
msgid "Wednesday" msgid "Wednesday"
msgstr "" msgstr ""
#: source/ubl-strings.h:193 #: source/ubl-strings.h:196
msgid "Thursday" msgid "Thursday"
msgstr "" msgstr ""
#: source/ubl-strings.h:194 #: source/ubl-strings.h:197
msgid "Friday" msgid "Friday"
msgstr "" msgstr ""
#: source/ubl-strings.h:195 #: source/ubl-strings.h:198
msgid "Saturday" msgid "Saturday"
msgstr "" msgstr ""
#: source/ubl-strings.h:196 #: source/ubl-strings.h:199
msgid "Sunday*" msgid "Sunday*"
msgstr "" msgstr ""
#: source/ubl-strings.h:197 #: source/ubl-strings.h:200
msgid "Same record already exists" msgid "Same record already exists"
msgstr "" msgstr ""
#: source/ubl-strings.h:198 #: source/ubl-strings.h:201
msgid "Empty important field" msgid "Empty important field"
msgstr "" msgstr ""
#: source/ubl-strings.h:199 #: source/ubl-strings.h:202
msgid "Repeating paths" msgid "Repeating paths"
msgstr "" msgstr ""
#: source/ubl-strings.h:200 #: source/ubl-strings.h:203
msgid "Write down all important fields" msgid "Write down all important fields"
msgstr "" msgstr ""
#: source/ubl-strings.h:203 #: source/ubl-strings.h:206
msgid "Logs and events - logrotate table"
msgstr ""
#: source/ubl-strings.h:207
msgid "System configuration" msgid "System configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:204 #: source/ubl-strings.h:208
msgid "Applications configuration" msgid "Applications configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:207 #: source/ubl-strings.h:211
msgid "Logs and events - journal configuration"
msgstr ""
#: source/ubl-strings.h:212
msgid "Path (-s):" msgid "Path (-s):"
msgstr "" msgstr ""
#: source/ubl-strings.h:208 #: source/ubl-strings.h:213
msgid "Control:" msgid "Control:"
msgstr "" msgstr ""
#: source/ubl-strings.h:209 #: source/ubl-strings.h:214
msgid "Log file" msgid "Log file"
msgstr "" msgstr ""
#: source/ubl-strings.h:210 #: source/ubl-strings.h:215
msgid "Name:" msgid "Name:"
msgstr "" msgstr ""
#: source/ubl-strings.h:213 #: source/ubl-strings.h:216
msgid "Log size:"
msgstr ""
#: source/ubl-strings.h:219
msgid "Logs and events - rules"
msgstr ""
#: source/ubl-strings.h:220
msgid "Owner rules" msgid "Owner rules"
msgstr "" msgstr ""
#: source/ubl-strings.h:214 #: source/ubl-strings.h:221
msgid "Group rules" msgid "Group rules"
msgstr "" msgstr ""
#: source/ubl-strings.h:215 #: source/ubl-strings.h:222
msgid "Public rules" msgid "Public rules"
msgstr "" msgstr ""
#: source/ubl-strings.h:216 #: source/ubl-strings.h:223
msgid "Read" msgid "Read"
msgstr "" msgstr ""
#: source/ubl-strings.h:217 #: source/ubl-strings.h:224
msgid "Write" msgid "Write"
msgstr "" msgstr ""
#: source/ubl-strings.h:218 #: source/ubl-strings.h:225
msgid "Execute" msgid "Execute"
msgstr "" msgstr ""
#: source/ubl-strings.h:219 #: source/ubl-strings.h:226
msgid "Value:" msgid "Value:"
msgstr "" msgstr ""
#: source/ubl-strings.h:222 #: source/ubl-strings.h:229
msgid ": no such file(s)" msgid ": no such file(s)"
msgstr "" msgstr ""
#: source/ubl-strings.h:223 #: source/ubl-strings.h:230
msgid "Parameter" msgid "Parameter"
msgstr "" msgstr ""
#: source/ubl-strings.h:224 #: source/ubl-strings.h:231
msgid "Old value" msgid "Old value"
msgstr "" msgstr ""
#: source/ubl-strings.h:225 #: source/ubl-strings.h:232
msgid "New value" msgid "New value"
msgstr "" msgstr ""
#: source/ubl-strings.h:234
msgid "Logs and events - choose a path"
msgstr ""
#: source/ubl-strings.h:235
msgid "Logs and events - saving"
msgstr ""

@ -310,320 +310,335 @@ msgid "Graphics X session log"
msgstr "Журнал сеансов графической системы X" msgstr "Журнал сеансов графической системы X"
#: source/ubl-strings.h:75 #: source/ubl-strings.h:75
#, fuzzy
msgid "Logs and events - log inspector"
msgstr "Логи и журналы событий - просмотр журнала"
#: source/ubl-strings.h:76
msgid "Show messages since the current system boot" msgid "Show messages since the current system boot"
msgstr "Показать сообщения с момента загрузки системы" msgstr "Показать сообщения с момента загрузки системы"
#: source/ubl-strings.h:76 #: source/ubl-strings.h:77
msgid "Follow for new messages" msgid "Follow for new messages"
msgstr "Следить за появлением новых сообщений" msgstr "Следить за появлением новых сообщений"
#: source/ubl-strings.h:77 #: source/ubl-strings.h:78
msgid "Show kernel ring buffer" msgid "Show kernel ring buffer"
msgstr "Показать кольцевой буфер ядра" msgstr "Показать кольцевой буфер ядра"
#: source/ubl-strings.h:78 #: source/ubl-strings.h:79
msgid "Show only priority error messages, critical messages and warnings" msgid "Show only priority error messages, critical messages and warnings"
msgstr "" msgstr ""
"Показать только приоритетные сообщения об ошибках, критических сообщениях и " "Показать только приоритетные сообщения об ошибках, критических сообщениях и "
"предупреждениях" "предупреждениях"
#: source/ubl-strings.h:79 #: source/ubl-strings.h:80
msgid "Show all boots" msgid "Show all boots"
msgstr "Показать все загрузки в журнале" msgstr "Показать все загрузки в журнале"
#: source/ubl-strings.h:80 #: source/ubl-strings.h:81
msgid "Show a list of all units, ordered by the time of their initialisation" msgid "Show a list of all units, ordered by the time of their initialisation"
msgstr "" msgstr ""
"Показать список всех работающих юнитов, упорядоченных по времени их " "Показать список всех работающих юнитов, упорядоченных по времени их "
"инициализации" "инициализации"
#: source/ubl-strings.h:81 #: source/ubl-strings.h:82
msgid "Show tree of time-critical initialization unit chain" msgid "Show tree of time-critical initialization unit chain"
msgstr "Показать дерево критической по времени цепочки юнитов инициализации" msgstr "Показать дерево критической по времени цепочки юнитов инициализации"
#: source/ubl-strings.h:82 #: source/ubl-strings.h:83
msgid "Update" msgid "Update"
msgstr "Обновить" msgstr "Обновить"
#: source/ubl-strings.h:83 #: source/ubl-strings.h:84
msgid "Date" msgid "Date"
msgstr "Дата" msgstr "Дата"
#: source/ubl-strings.h:84 #: source/ubl-strings.h:85
msgid "Hostname" msgid "Hostname"
msgstr "Имя хоста" msgstr "Имя хоста"
#: source/ubl-strings.h:85 #: source/ubl-strings.h:86
msgid "Process" msgid "Process"
msgstr "Процесс" msgstr "Процесс"
#: source/ubl-strings.h:86 #: source/ubl-strings.h:87
msgid "Log" msgid "Log"
msgstr "Запись лога" msgstr "Запись лога"
#: source/ubl-strings.h:89 #: source/ubl-strings.h:90
#, fuzzy
msgid "Logs and events - journald configuration"
msgstr "Логи и журналы событий - конфигурация сервиса journald"
#: source/ubl-strings.h:91
msgid "Description:" msgid "Description:"
msgstr "Описание:" msgstr "Описание:"
#: source/ubl-strings.h:90 #: source/ubl-strings.h:92
msgid "Journal storage place:" msgid "Journal storage place:"
msgstr "Место хранения журнала:" msgstr "Место хранения журнала:"
#: source/ubl-strings.h:91 source/ubl-strings.h:92 #: source/ubl-strings.h:93 source/ubl-strings.h:94
msgid "Use compression:" msgid "Use compression:"
msgstr "Использовать сжатие:" msgstr "Использовать сжатие:"
#: source/ubl-strings.h:93 #: source/ubl-strings.h:95
msgid "Split journal files:" msgid "Split journal files:"
msgstr "Разделять файлы журнала:" msgstr "Разделять файлы журнала:"
#: source/ubl-strings.h:94 #: source/ubl-strings.h:96
msgid "Log recording journal interval:" msgid "Log recording journal interval:"
msgstr "Интервал записи журнала:" msgstr "Интервал записи журнала:"
#: source/ubl-strings.h:95 #: source/ubl-strings.h:97
msgid "Records amount:" msgid "Records amount:"
msgstr "Количество записей:" msgstr "Количество записей:"
#: source/ubl-strings.h:96 #: source/ubl-strings.h:98
msgid "Maximum size of all logs:" msgid "Maximum size of all logs:"
msgstr "Максимальный размер всех журналов:" msgstr "Максимальный размер всех журналов:"
#: source/ubl-strings.h:97 #: source/ubl-strings.h:99
msgid "Maximum size of rotation journal:" msgid "Maximum size of rotation journal:"
msgstr "Максимальный размер журнала для ротации:" msgstr "Максимальный размер журнала для ротации:"
#: source/ubl-strings.h:98 #: source/ubl-strings.h:100
msgid "Leave free space at storage:" msgid "Leave free space at storage:"
msgstr "Оставлять в хранилище свободным:" msgstr "Оставлять в хранилище свободным:"
#: source/ubl-strings.h:99 #: source/ubl-strings.h:101
msgid "Redirect to console:" msgid "Redirect to console:"
msgstr "Перенаправление в консоль:" msgstr "Перенаправление в консоль:"
#: source/ubl-strings.h:100 #: source/ubl-strings.h:102
msgid "TTY:" msgid "TTY:"
msgstr "TTY:" msgstr "TTY:"
#: source/ubl-strings.h:101 #: source/ubl-strings.h:103
msgid "Type of forwarded messages:" msgid "Type of forwarded messages:"
msgstr "Тип перенаправляемых сообщений:" msgstr "Тип перенаправляемых сообщений:"
#: source/ubl-strings.h:102 #: source/ubl-strings.h:104
msgid "Journal configuration" msgid "Journal configuration"
msgstr "Настройка файла журнала" msgstr "Настройка файла журнала"
#: source/ubl-strings.h:103 #: source/ubl-strings.h:105
msgid "Total log size:" msgid "Total log size:"
msgstr "Общий размер журналов:" msgstr "Общий размер журналов:"
#: source/ubl-strings.h:104 #: source/ubl-strings.h:106
msgid "Lower size to:" msgid "Lower size to:"
msgstr "Уменьшить размер до:" msgstr "Уменьшить размер до:"
#: source/ubl-strings.h:105 #: source/ubl-strings.h:107
msgid "Apply" msgid "Apply"
msgstr "Применить" msgstr "Применить"
#: source/ubl-strings.h:106 #: source/ubl-strings.h:108
msgid "Statistics" msgid "Statistics"
msgstr "Статистика" msgstr "Статистика"
#: source/ubl-strings.h:107 #: source/ubl-strings.h:109
msgid "Default" msgid "Default"
msgstr "По умолчанию" msgstr "По умолчанию"
#: source/ubl-strings.h:108 #: source/ubl-strings.h:110
msgid "RAM" msgid "RAM"
msgstr "Оперативная память" msgstr "Оперативная память"
#: source/ubl-strings.h:109 #: source/ubl-strings.h:111
msgid "Drive" msgid "Drive"
msgstr "Диск" msgstr "Диск"
#: source/ubl-strings.h:110 #: source/ubl-strings.h:112
#, fuzzy #, fuzzy
msgid "Auto" msgid "Auto"
msgstr "Автоматически" msgstr "Автоматически"
#: source/ubl-strings.h:111 #: source/ubl-strings.h:113
msgid "None" msgid "None"
msgstr "Нет" msgstr "Нет"
#: source/ubl-strings.h:112 #: source/ubl-strings.h:114
msgid "Yes" msgid "Yes"
msgstr "Да" msgstr "Да"
#: source/ubl-strings.h:113 #: source/ubl-strings.h:115
msgid "No" msgid "No"
msgstr "Нет" msgstr "Нет"
#: source/ubl-strings.h:114 #: source/ubl-strings.h:116
msgid "After" msgid "After"
msgstr "После" msgstr "После"
#: source/ubl-strings.h:115 #: source/ubl-strings.h:117
msgid "Kb" msgid "Kb"
msgstr "Кб" msgstr "Кб"
#: source/ubl-strings.h:116 #: source/ubl-strings.h:118
msgid "Mb" msgid "Mb"
msgstr "Мб" msgstr "Мб"
#: source/ubl-strings.h:117 #: source/ubl-strings.h:119
msgid "Gb" msgid "Gb"
msgstr "Гб" msgstr "Гб"
#: source/ubl-strings.h:118 #: source/ubl-strings.h:120
msgid "Minutes" msgid "Minutes"
msgstr "Минут" msgstr "Минут"
#: source/ubl-strings.h:119 #: source/ubl-strings.h:121
msgid "Hours" msgid "Hours"
msgstr "Часов" msgstr "Часов"
#: source/ubl-strings.h:120 #: source/ubl-strings.h:122
msgid "Days" msgid "Days"
msgstr "Дней" msgstr "Дней"
#: source/ubl-strings.h:121 #: source/ubl-strings.h:123
#, fuzzy #, fuzzy
msgid "Weeks" msgid "Weeks"
msgstr "Недель" msgstr "Недель"
#: source/ubl-strings.h:122 #: source/ubl-strings.h:124
msgid "Years" msgid "Years"
msgstr "Лет" msgstr "Лет"
#: source/ubl-strings.h:123 #: source/ubl-strings.h:125
msgid "Reset" msgid "Reset"
msgstr "По умлочанию" msgstr "По умолчанию"
#: source/ubl-strings.h:128
#, fuzzy
msgid "Logs and events - logrotate configuration"
msgstr "Логи и журналы событий - конфигурация сервиса logrotate"
#: source/ubl-strings.h:126 #: source/ubl-strings.h:129
msgid "Log/Journal:" msgid "Log/Journal:"
msgstr "Лог/Журнал:" msgstr "Лог/Журнал:"
#: source/ubl-strings.h:127 #: source/ubl-strings.h:130
msgid "Paths to log and journals files" msgid "Paths to log and journals files"
msgstr "Пути к файлам лога/журнала" msgstr "Пути к файлам лога/журнала"
#: source/ubl-strings.h:128 #: source/ubl-strings.h:131
msgid "On" msgid "On"
msgstr "Включено" msgstr "Включено"
#: source/ubl-strings.h:129 #: source/ubl-strings.h:132
msgid "Off" msgid "Off"
msgstr "Выключено" msgstr "Выключено"
#: source/ubl-strings.h:130 source/ubl-strings.h:184 #: source/ubl-strings.h:133 source/ubl-strings.h:187
msgid "Scenarios" msgid "Scenarios"
msgstr "Сценарии" msgstr "Сценарии"
#: source/ubl-strings.h:131 source/ubl-strings.h:183 #: source/ubl-strings.h:134 source/ubl-strings.h:186
msgid "Scenarios are running for each rotated journal" msgid "Scenarios are running for each rotated journal"
msgstr "Сценарии запускаются для каждого ротируемого журнала" msgstr "Сценарии запускаются для каждого ротируемого журнала"
#: source/ubl-strings.h:132 #: source/ubl-strings.h:135
msgid "Command before rotation (one time):" msgid "Command before rotation (one time):"
msgstr "Команда перед ротацией (один раз):" msgstr "Команда перед ротацией (один раз):"
#: source/ubl-strings.h:133 #: source/ubl-strings.h:136
msgid "Command after rotation (one time):" msgid "Command after rotation (one time):"
msgstr "Команда после ротации (один раз):" msgstr "Команда после ротации (один раз):"
#: source/ubl-strings.h:134 #: source/ubl-strings.h:137
msgid "Command before rotation:" msgid "Command before rotation:"
msgstr "Команда перед ротацией:" msgstr "Команда перед ротацией:"
#: source/ubl-strings.h:135 #: source/ubl-strings.h:138
msgid "Command after rotation:" msgid "Command after rotation:"
msgstr "Команда после ротации:" msgstr "Команда после ротации:"
#: source/ubl-strings.h:136 #: source/ubl-strings.h:139
msgid "Rotation period:" msgid "Rotation period:"
msgstr "Период ротации:" msgstr "Период ротации:"
#: source/ubl-strings.h:137 #: source/ubl-strings.h:140
msgid "Maximum size of file:" msgid "Maximum size of file:"
msgstr "Максимальный размер файла:" msgstr "Максимальный размер файла:"
#: source/ubl-strings.h:138 #: source/ubl-strings.h:141
msgid "Checking frequency configuration" msgid "Checking frequency configuration"
msgstr "Настройки частоты проверки" msgstr "Настройки частоты проверки"
#: source/ubl-strings.h:139 #: source/ubl-strings.h:142
msgid "File amount:" msgid "File amount:"
msgstr "Количество файлов:" msgstr "Количество файлов:"
#: source/ubl-strings.h:140 #: source/ubl-strings.h:143
msgid "Store at:" msgid "Store at:"
msgstr "Хранить в:" msgstr "Хранить в:"
#: source/ubl-strings.h:141 #: source/ubl-strings.h:144
msgid "Rotation as user:" msgid "Rotation as user:"
msgstr "Ротация от пользователя:" msgstr "Ротация от пользователя:"
#: source/ubl-strings.h:142 #: source/ubl-strings.h:145
msgid "Rotation as group:" msgid "Rotation as group:"
msgstr "Ротация от группы:" msgstr "Ротация от группы:"
#: source/ubl-strings.h:143 #: source/ubl-strings.h:146
msgid "Rotation configuration" msgid "Rotation configuration"
msgstr "Настройки ротации" msgstr "Настройки ротации"
#: source/ubl-strings.h:144 #: source/ubl-strings.h:147
msgid "Error processing:" msgid "Error processing:"
msgstr "Обработка ошибок:" msgstr "Обработка ошибок:"
#: source/ubl-strings.h:145 #: source/ubl-strings.h:148
msgid "Rotation of jurnal even when it is empty:" msgid "Rotation of jurnal even when it is empty:"
msgstr "Ротация файла журнала даже если он пуст:" msgstr "Ротация файла журнала даже если он пуст:"
#: source/ubl-strings.h:146 #: source/ubl-strings.h:149
msgid "Do not rotate journal younger than" msgid "Do not rotate journal younger than"
msgstr "Не ротировать журналы, возраст которых меньше" msgstr "Не ротировать журналы, возраст которых меньше"
#: source/ubl-strings.h:147 #: source/ubl-strings.h:150
msgid "days" msgid "days"
msgstr "дней" msgstr "дней"
#: source/ubl-strings.h:148 #: source/ubl-strings.h:151
msgid "Delete rotated journals older than" msgid "Delete rotated journals older than"
msgstr "Удалить ротированные журналы старше" msgstr "Удалить ротированные журналы старше"
#: source/ubl-strings.h:149 #: source/ubl-strings.h:152
msgid "Rotate journals if size more than" msgid "Rotate journals if size more than"
msgstr "Ротация журналов, если размер превышает" msgstr "Ротация журналов, если размер превышает"
#: source/ubl-strings.h:150 #: source/ubl-strings.h:153
msgid "but not earlier than the specified time interval" msgid "but not earlier than the specified time interval"
msgstr "но не раньше указанного интервала времени" msgstr "но не раньше указанного интервала времени"
#: source/ubl-strings.h:151 #: source/ubl-strings.h:154
msgid "before specified time interval" msgid "before specified time interval"
msgstr "до истечения указанного интервала времени" msgstr "до истечения указанного интервала времени"
#: source/ubl-strings.h:152 #: source/ubl-strings.h:155
msgid "File choosing configuration" msgid "File choosing configuration"
msgstr "Настройки выбора файла" msgstr "Настройки выбора файла"
#: source/ubl-strings.h:153 #: source/ubl-strings.h:156
msgid "Create log" msgid "Create log"
msgstr "Создавать лог" msgstr "Создавать лог"
#: source/ubl-strings.h:154 #: source/ubl-strings.h:157
msgid "as user:" msgid "as user:"
msgstr "от пользователя:" msgstr "от пользователя:"
#: source/ubl-strings.h:155 #: source/ubl-strings.h:158
msgid "as group:" msgid "as group:"
msgstr "от группы:" msgstr "от группы:"
#: source/ubl-strings.h:156 #: source/ubl-strings.h:159
msgid "rules:" msgid "rules:"
msgstr "права:" msgstr "права:"
#: source/ubl-strings.h:157 #: source/ubl-strings.h:160
msgid "" msgid ""
"Cut source journal fileafter copy creating instead of moving old journal " "Cut source journal fileafter copy creating instead of moving old journal "
"file and creating new one" "file and creating new one"
@ -631,237 +646,266 @@ msgstr ""
"После создания копии, обрезать исходный файл журнала взамен перемещения " "После создания копии, обрезать исходный файл журнала взамен перемещения "
"старого файла журнала и создания нового" "старого файла журнала и создания нового"
#: source/ubl-strings.h:158 #: source/ubl-strings.h:161
msgid "Files and directories configuration" msgid "Files and directories configuration"
msgstr "Настройки файлов и папок" msgstr "Настройки файлов и папок"
#: source/ubl-strings.h:159 #: source/ubl-strings.h:162
msgid "Delay compression by one journal in queue:" msgid "Delay compression by one journal in queue:"
msgstr "Отложить сжание на один журнал в очереди:" msgstr "Отложить сжание на один журнал в очереди:"
#: source/ubl-strings.h:160 #: source/ubl-strings.h:163
msgid "Compression configuration" msgid "Compression configuration"
msgstr "Настройка сжатия" msgstr "Настройка сжатия"
#: source/ubl-strings.h:161 #: source/ubl-strings.h:164
msgid "Save original log file after rotation if it has specified extension:" msgid "Save original log file after rotation if it has specified extension:"
msgstr "" msgstr ""
"Сохранять оригинальный лог после ротации, если у него указано расширение:" "Сохранять оригинальный лог после ротации, если у него указано расширение:"
#: source/ubl-strings.h:162 #: source/ubl-strings.h:165
msgid "Add date of rotation before log header" msgid "Add date of rotation before log header"
msgstr "Добавлять дату ротации перед заголовком старого лога:" msgstr "Добавлять дату ротации перед заголовком старого лога:"
#: source/ubl-strings.h:163 #: source/ubl-strings.h:166
msgid "Number from which numbering of old logs will begin" msgid "Number from which numbering of old logs will begin"
msgstr "Номер, с которого будет начата нумерация старых логов:" msgstr "Номер, с которого будет начата нумерация старых логов:"
#: source/ubl-strings.h:164 #: source/ubl-strings.h:167
msgid "Filename configuration" msgid "Filename configuration"
msgstr "Настройка имени файлов" msgstr "Настройка имени файлов"
#: source/ubl-strings.h:165 #: source/ubl-strings.h:168
msgid "Email after rotation:" msgid "Email after rotation:"
msgstr "Отправка Email после ротации:" msgstr "Отправка Email после ротации:"
#: source/ubl-strings.h:166 #: source/ubl-strings.h:169
msgid "adress:" msgid "adress:"
msgstr "на адрес:" msgstr "на адрес:"
#: source/ubl-strings.h:167 #: source/ubl-strings.h:170
msgid "contents:" msgid "contents:"
msgstr "содержимое:" msgstr "содержимое:"
#: source/ubl-strings.h:168 source/ubl-strings.h:181 #: source/ubl-strings.h:171 source/ubl-strings.h:184
msgid "Message configuration" msgid "Message configuration"
msgstr "Настройка сообщения" msgstr "Настройка сообщения"
#: source/ubl-strings.h:169 #: source/ubl-strings.h:172
msgid "Manual input:" msgid "Manual input:"
msgstr "Команды настройки" msgstr "Команды настройки"
#: source/ubl-strings.h:170 #: source/ubl-strings.h:173
msgid "Log (-s) size:" msgid "Log (-s) size:"
msgstr "Общий размер лога (-ов):" msgstr "Общий размер лога (-ов):"
#: source/ubl-strings.h:171 #: source/ubl-strings.h:174
msgid "Same directory" msgid "Same directory"
msgstr "Той же папке" msgstr "Той же папке"
#: source/ubl-strings.h:172 #: source/ubl-strings.h:175
msgid "Separate directory" msgid "Separate directory"
msgstr "Другой папке" msgstr "Другой папке"
#: source/ubl-strings.h:173 #: source/ubl-strings.h:176
msgid "Output errors if log file does not exist*" msgid "Output errors if log file does not exist*"
msgstr "Выводить ошибки, если лог файла не существует*" msgstr "Выводить ошибки, если лог файла не существует*"
#: source/ubl-strings.h:174 #: source/ubl-strings.h:177
msgid "Do not output errors if log file does not exist" msgid "Do not output errors if log file does not exist"
msgstr "Не выводить ошибки, если лог файла не существует" msgstr "Не выводить ошибки, если лог файла не существует"
#: source/ubl-strings.h:175 #: source/ubl-strings.h:178
msgid "Do not output" msgid "Do not output"
msgstr "Не выводить" msgstr "Не выводить"
#: source/ubl-strings.h:176 #: source/ubl-strings.h:179
msgid "Output errors" msgid "Output errors"
msgstr "Выводить ошибки" msgstr "Выводить ошибки"
#: source/ubl-strings.h:177 #: source/ubl-strings.h:180
msgid "Send Email" msgid "Send Email"
msgstr "Отправлять Email" msgstr "Отправлять Email"
#: source/ubl-strings.h:178 #: source/ubl-strings.h:181
msgid "Don't send Email" msgid "Don't send Email"
msgstr "Не отправлять Email" msgstr "Не отправлять Email"
#: source/ubl-strings.h:179 #: source/ubl-strings.h:182
msgid "First rotated copy" msgid "First rotated copy"
msgstr "Первая ротированная копия" msgstr "Первая ротированная копия"
#: source/ubl-strings.h:180 #: source/ubl-strings.h:183
msgid "Last rotated copy" msgid "Last rotated copy"
msgstr "Последняя ротированная копия" msgstr "Последняя ротированная копия"
#: source/ubl-strings.h:182 #: source/ubl-strings.h:185
msgid "Endwork command:" msgid "Endwork command:"
msgstr "Команда перед удалением файла журнала:" msgstr "Команда перед удалением файла журнала:"
#: source/ubl-strings.h:185 #: source/ubl-strings.h:188
#, fuzzy #, fuzzy
msgid "Hourly" msgid "Hourly"
msgstr "Час" msgstr "Час"
#: source/ubl-strings.h:186 #: source/ubl-strings.h:189
msgid "Daily" msgid "Daily"
msgstr "День" msgstr "День"
#: source/ubl-strings.h:187 #: source/ubl-strings.h:190
msgid "Weekly*" msgid "Weekly*"
msgstr "Неделя*" msgstr "Неделя*"
#: source/ubl-strings.h:188 #: source/ubl-strings.h:191
msgid "Monthly" msgid "Monthly"
msgstr "Месяц" msgstr "Месяц"
#: source/ubl-strings.h:189 #: source/ubl-strings.h:192
msgid "Yearly" msgid "Yearly"
msgstr "Год" msgstr "Год"
#: source/ubl-strings.h:190 #: source/ubl-strings.h:193
msgid "Monday" msgid "Monday"
msgstr "Понедельник" msgstr "Понедельник"
#: source/ubl-strings.h:191 #: source/ubl-strings.h:194
msgid "Tuesday" msgid "Tuesday"
msgstr "Вторник" msgstr "Вторник"
#: source/ubl-strings.h:192 #: source/ubl-strings.h:195
msgid "Wednesday" msgid "Wednesday"
msgstr "Среда" msgstr "Среда"
#: source/ubl-strings.h:193 #: source/ubl-strings.h:196
msgid "Thursday" msgid "Thursday"
msgstr "Четверг" msgstr "Четверг"
#: source/ubl-strings.h:194 #: source/ubl-strings.h:197
msgid "Friday" msgid "Friday"
msgstr "Пятница" msgstr "Пятница"
#: source/ubl-strings.h:195 #: source/ubl-strings.h:198
msgid "Saturday" msgid "Saturday"
msgstr "Суббота" msgstr "Суббота"
#: source/ubl-strings.h:196 #: source/ubl-strings.h:199
msgid "Sunday*" msgid "Sunday*"
msgstr "Воскресенье*" msgstr "Воскресенье*"
#: source/ubl-strings.h:197 #: source/ubl-strings.h:200
msgid "Same record already exists" msgid "Same record already exists"
msgstr "Такая запись уже существует" msgstr "Такая запись уже существует"
#: source/ubl-strings.h:198 #: source/ubl-strings.h:201
msgid "Empty important field" msgid "Empty important field"
msgstr "Важное поле не заполнено" msgstr "Важное поле не заполнено"
#: source/ubl-strings.h:199 #: source/ubl-strings.h:202
msgid "Repeating paths" msgid "Repeating paths"
msgstr "Повторяющиеся пути" msgstr "Повторяющиеся пути"
#: source/ubl-strings.h:200 #: source/ubl-strings.h:203
#, fuzzy #, fuzzy
msgid "Write down all important fields" msgid "Write down all important fields"
msgstr "Введите все необходимые поля" msgstr "Введите все необходимые поля"
#: source/ubl-strings.h:203 #: source/ubl-strings.h:206
#, fuzzy
msgid "Logs and events - logrotate table"
msgstr "Логи и журналы событий - таблица журналов logrotate"
#: source/ubl-strings.h:207
msgid "System configuration" msgid "System configuration"
msgstr "Настройки системы" msgstr "Настройки системы"
#: source/ubl-strings.h:204 #: source/ubl-strings.h:208
msgid "Applications configuration" msgid "Applications configuration"
msgstr "Настройки приложений" msgstr "Настройки приложений"
#: source/ubl-strings.h:207 #: source/ubl-strings.h:211
#, fuzzy
msgid "Logs and events - journal configuration"
msgstr "Логи и журналы событий - конфигурация журнала"
#: source/ubl-strings.h:212
msgid "Path (-s):" msgid "Path (-s):"
msgstr "Путь (-и):" msgstr "Путь (-и):"
#: source/ubl-strings.h:208 #: source/ubl-strings.h:213
msgid "Control:" msgid "Control:"
msgstr "Управление:" msgstr "Управление:"
#: source/ubl-strings.h:209 #: source/ubl-strings.h:214
msgid "Log file" msgid "Log file"
msgstr "Файл лога" msgstr "Файл лога"
#: source/ubl-strings.h:210 #: source/ubl-strings.h:215
msgid "Name:" msgid "Name:"
msgstr "Имя:" msgstr "Имя:"
#: source/ubl-strings.h:213 #: source/ubl-strings.h:216
msgid "Log size:"
msgstr "Размер лога:"
#: source/ubl-strings.h:219
#, fuzzy
msgid "Logs and events - rules"
msgstr "Логи и журналы событий - правила"
#: source/ubl-strings.h:220
msgid "Owner rules" msgid "Owner rules"
msgstr "Правила владельца" msgstr "Правила владельца"
#: source/ubl-strings.h:214 #: source/ubl-strings.h:221
msgid "Group rules" msgid "Group rules"
msgstr "Правила группы" msgstr "Правила группы"
#: source/ubl-strings.h:215 #: source/ubl-strings.h:222
msgid "Public rules" msgid "Public rules"
msgstr "Правила остальных" msgstr "Правила остальных"
#: source/ubl-strings.h:216 #: source/ubl-strings.h:223
msgid "Read" msgid "Read"
msgstr "Чтение" msgstr "Чтение"
#: source/ubl-strings.h:217 #: source/ubl-strings.h:224
msgid "Write" msgid "Write"
msgstr "Запись" msgstr "Запись"
#: source/ubl-strings.h:218 #: source/ubl-strings.h:225
msgid "Execute" msgid "Execute"
msgstr "Исполнение" msgstr "Исполнение"
#: source/ubl-strings.h:219 #: source/ubl-strings.h:226
msgid "Value:" msgid "Value:"
msgstr "Значение:" msgstr "Значение:"
#: source/ubl-strings.h:222 #: source/ubl-strings.h:229
msgid ": no such file(s)" msgid ": no such file(s)"
msgstr ": файл(ы) не найден(ы)" msgstr ": файл(ы) не найден(ы)"
#: source/ubl-strings.h:223 #: source/ubl-strings.h:230
msgid "Parameter" msgid "Parameter"
msgstr "Параметр" msgstr "Параметр"
#: source/ubl-strings.h:224 #: source/ubl-strings.h:231
msgid "Old value" msgid "Old value"
msgstr "Старое значение" msgstr "Старое значение"
#: source/ubl-strings.h:225 #: source/ubl-strings.h:232
msgid "New value" msgid "New value"
msgstr "Новое значение" msgstr "Новое значение"
#: source/ubl-strings.h:234
#, fuzzy
msgid "Logs and events - choose a path"
msgstr "Логи и журналы событий - Выбор пути"
#: source/ubl-strings.h:235
#, fuzzy
msgid "Logs and events - saving"
msgstr "Логи и журналы событий - сохранение"
msgid "System event log rotation service" msgid "System event log rotation service"
msgstr "Служба ротации системных журналов событий" msgstr "Служба ротации системных журналов событий"

Loading…
Cancel
Save