Interface fixes and edits, localisation #2

Merged
asmeron merged 25 commits from YanTheKaller/ubl-settings-logging:master into master 2 years ago

@ -132,6 +132,7 @@ install: check uninstall
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.increase-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.decrease-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.profile-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.edit-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv/" "journals_list.csv"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv/" "logging_services.csv"
@install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy"

@ -3,9 +3,11 @@
<gresource prefix="/com/ublinux/ui">
<file>ubl-settings-logging.glade</file>
<file>ubl-settings-logging-add.glade</file>
<file>ubl-settings-logging-add-path.glade</file>
<file>ubl-settings-logging-inspector.glade</file>
<file>ubl-settings-logging-logrotate.glade</file>
<file>ubl-settings-logging-journald.glade</file>
<file>ubl-settings-logging-rules.glade</file>
<file>ubl-settings-logging-logrotate-table.glade</file>
</gresource>
<gresource prefix="/com/ublinux/css">

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
<path d="m 12.628906 0.664062 c -0.203125 0 -0.402344 0.074219 -0.554687 0.230469 l -1.769531 1.765625 l 3.050781 3.054688 l 1.769531 -1.769532 c 0.308594 -0.308593 0.308594 -0.804687 0 -1.109374 l -1.941406 -1.941407 c -0.15625 -0.15625 -0.355469 -0.230469 -0.554688 -0.230469 z m -3.109375 2.765626 l -8.519531 8.570312 v 3 h 3 l 8.519531 -8.570312 z m 0 0" fill="#2e3436" fill-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 535 B

@ -1,12 +1,12 @@
Журнал Acpid;/var/log/acpid;Журнал работы и обращений к Acpid
Журнал веб-сервера;/var/log/apache2/error.log,/var/log/apache2/access.log;Журнал работы и обращений к веб-серверу
Журнал аудита;/var/log/audit/audit.log;Журнал аудита (audit)
Журнал авторизации;/var/log/auth.log;Журнал процедур авторизации
Журнал планировщика заданий;/var/log/syslog;Журнал работы планировщика заданий (cron)
Журнал сервера печати;/var/log/cups/access_log,/var/log/cups/page_log,/var/log/cups/cups-pdf_log;Журнал работы и обращений к серверу печати (cups)
Журналы служб;/var/log/daemon.log;Журнал работы и обращения к службам системы
Журнал Samba;/var/log/samba/log.smbd,/var/log/samba/log.localhost,/var/log/samba/log.127.0.0.1,/var/log/samba/log.nmbd;Журнал работы и обращения к Samba
Журнал почтового сервера;/var/log/mail.log,/var/log/mail.info,/var/log/mail.warn,/var/log/mail.err;Журнал почтового сервера Postfix
Системный журнал;/var/log/syslog;Системный журнал
Журнал дисплейного сервера;/var/log/Xorg.0.log;Журнал работы дисплейного сервера X.org
Журнал сеансов графической системы X;~/.xsession-errors/;Журнал сеансов графической системы X
Acpid;/var/log/acpid;Журнал работы и обращений к Acpid
Apache2;/var/log/apache2/error.log,/var/log/apache2/access.log;Журнал работы и обращений к веб-серверу
Audit;/var/log/audit/audit.log;Журнал аудита (audit)
Authlog;/var/log/auth.log;Журнал процедур авторизации
Cron;/var/log/syslog;Журнал работы планировщика заданий (cron)
CUPS;/var/log/cups/access_log,/var/log/cups/page_log,/var/log/cups/cups-pdf_log;Журнал работы и обращений к серверу печати (cups)
Daemonlog;/var/log/daemon.log;Журнал работы и обращения к службам системы
Samba;/var/log/samba/log.smbd,/var/log/samba/log.localhost,/var/log/samba/log.127.0.0.1,/var/log/samba/log.nmbd;Журнал работы и обращения к Samba
Postfix;/var/log/mail.log,/var/log/mail.info,/var/log/mail.warn,/var/log/mail.err;Журнал почтового сервера Postfix
Syslog;/var/log/syslog;Системный журнал
Xorg;/var/log/Xorg.0.log;Журнал работы дисплейного сервера X.org
Xsession;~/.xsession-errors;Журнал сеансов графической системы X
1 Журнал Acpid Acpid /var/log/acpid Журнал работы и обращений к Acpid
2 Журнал веб-сервера Apache2 /var/log/apache2/error.log,/var/log/apache2/access.log Журнал работы и обращений к веб-серверу
3 Журнал аудита Audit /var/log/audit/audit.log Журнал аудита (audit)
4 Журнал авторизации Authlog /var/log/auth.log Журнал процедур авторизации
5 Журнал планировщика заданий Cron /var/log/syslog Журнал работы планировщика заданий (cron)
6 Журнал сервера печати CUPS /var/log/cups/access_log,/var/log/cups/page_log,/var/log/cups/cups-pdf_log Журнал работы и обращений к серверу печати (cups)
7 Журналы служб Daemonlog /var/log/daemon.log Журнал работы и обращения к службам системы
8 Журнал Samba Samba /var/log/samba/log.smbd,/var/log/samba/log.localhost,/var/log/samba/log.127.0.0.1,/var/log/samba/log.nmbd Журнал работы и обращения к Samba
9 Журнал почтового сервера Postfix /var/log/mail.log,/var/log/mail.info,/var/log/mail.warn,/var/log/mail.err Журнал почтового сервера Postfix
10 Системный журнал Syslog /var/log/syslog Системный журнал
11 Журнал дисплейного сервера Xorg /var/log/Xorg.0.log Журнал работы дисплейного сервера X.org
12 Журнал сеансов графической системы X Xsession ~/.xsession-errors/ ~/.xsession-errors Журнал сеансов графической системы X

@ -1,4 +1,4 @@
journald;Системный журнал событий;systemctl start;systemctl start systemd-journald.service;systemctl stop systemd-journald.service;ubconfig set config SERVICESSTART+=systemd-journald.service;ubconfig set config SERVICESSTART-=systemd-journald.service;systemctl status systemd-journald.service
logrotate;Служба ротации системных журналов событий;systemctl start logrotate.service;systemctl stop logrotate.service;ubconfig set config SERVICESSTART+=logrotate.service;ubconfig set config SERVICESSTART-=logrotate.service;systemctl status logrotate.service
metalog;Системный журнал событий;systemctl start metalog.service;systemctl stop metalog.service;ubconfig set config SERVICESSTART+=metalog.service;ubconfig set config SERVICESSTART-=metalog.service;systemctl status metalog.service
syslog-ng;Сервис сбора сообщений системных событий активных сетевых устройств;systemctl start syslog-ng.service;systemctl stop syslog-ng.service;ubconfig set config SERVICESSTART+=syslog-ng.service;ubconfig set config SERVICESSTART-=syslog-ng.service;systemctl status syslog-ng.service
#metalog;Системный журнал событий;systemctl start metalog.service;systemctl stop metalog.service;ubconfig set config SERVICESSTART+=metalog.service;ubconfig set config SERVICESSTART-=metalog.service;systemctl status metalog.service
#syslog-ng;Сервис сбора сообщений системных событий активных сетевых устройств;systemctl start syslog-ng.service;systemctl stop syslog-ng.service;ubconfig set config SERVICESSTART+=syslog-ng.service;ubconfig set config SERVICESSTART-=syslog-ng.service;systemctl status syslog-ng.service
1 journald;Системный журнал событий;systemctl start;systemctl start systemd-journald.service;systemctl stop systemd-journald.service;ubconfig set config SERVICESSTART+=systemd-journald.service;ubconfig set config SERVICESSTART-=systemd-journald.service;systemctl status systemd-journald.service
2 logrotate;Служба ротации системных журналов событий;systemctl start logrotate.service;systemctl stop logrotate.service;ubconfig set config SERVICESSTART+=logrotate.service;ubconfig set config SERVICESSTART-=logrotate.service;systemctl status logrotate.service
3 metalog;Системный журнал событий;systemctl start metalog.service;systemctl stop metalog.service;ubconfig set config SERVICESSTART+=metalog.service;ubconfig set config SERVICESSTART-=metalog.service;systemctl status metalog.service #metalog;Системный журнал событий;systemctl start metalog.service;systemctl stop metalog.service;ubconfig set config SERVICESSTART+=metalog.service;ubconfig set config SERVICESSTART-=metalog.service;systemctl status metalog.service
4 syslog-ng;Сервис сбора сообщений системных событий активных сетевых устройств;systemctl start syslog-ng.service;systemctl stop syslog-ng.service;ubconfig set config SERVICESSTART+=syslog-ng.service;ubconfig set config SERVICESSTART-=syslog-ng.service;systemctl status syslog-ng.service #syslog-ng;Сервис сбора сообщений системных событий активных сетевых устройств;systemctl start syslog-ng.service;systemctl stop syslog-ng.service;ubconfig set config SERVICESSTART+=syslog-ng.service;ubconfig set config SERVICESSTART-=syslog-ng.service;systemctl status syslog-ng.service

@ -37,6 +37,8 @@ add_custom_target(GLADE ubl-settings-logging.glade)
set(DEPENDFILES
../ubl-settings-logging.glade
../ubl-settings-logging-add.glade
../ubl-settings-logging-add-path.glade
../ubl-settings-logging-rules.glade
../ubl-settings-logging-inspector.glade
../ubl-settings-logging-journald.glade
../ubl-settings-logging-logrotate.glade

File diff suppressed because it is too large Load Diff

@ -20,6 +20,7 @@
#define glade_path "/com/ublinux/ui/ubl-settings-logging.glade"
#define glade_add_path "/com/ublinux/ui/ubl-settings-logging-add.glade"
#define glade_add_path_path "/com/ublinux/ui/ubl-settings-logging-add-path.glade"
#define glade_inspector_path "/com/ublinux/ui/ubl-settings-logging-inspector.glade"
#define glade_journald_path "/com/ublinux/ui/ubl-settings-logging-journald.glade"
#define glade_logrotate_path "/com/ublinux/ui/ubl-settings-logging-logrotate.glade"
@ -35,12 +36,16 @@
#define LocalePath "/usr/share/locale"
#define LocaleName "ubl-settings-logging"
#define JOURNALD(key) yon_char_unite("JOURNALD[",key,"]",NULL)
#define LOGROTATE(key) yon_char_unite("LOGROTATE[",key,"]",NULL)
#define get_journal_output_command "journalctl --no-pager"
#define get_journal_output_since_boot_command "journalctl --no-pager -b"
#define get_journal_output_followed_command "journalctl --no-pager -f"
#define get_journal_output_kernel_command "journalctl --no-pager -k"
#define get_journal_output_prioritied_command "journalctl --no-pager -p err..alert"
#define yon_add_space_if_exists(string) yon_char_is_empty(string) ? "" : yon_char_append(",",string)
typedef char* string;
string version_application;
@ -62,6 +67,8 @@ typedef struct {
int lock_save_global;
int lock_load_global;
int load_mode;
GtkListStore *logrotate_list;
GtkListStore *logrotate_apps_list;
} config;
@ -102,6 +109,7 @@ typedef struct {
GtkWidget *AddButton;
GtkWidget *RemoveButton;
GtkWidget *Notebook;
GtkWidget *ServicesTree;
GtkWidget *ServicesEditButton;
@ -161,6 +169,10 @@ typedef struct {
GtkWidget *JournaldButton;
GtkWidget *LogSizeLabel;
GtkWidget *StatisticsFrame;
GtkWidget *ControlSectionBox;
GtkWidget *LogPathsBox;
char *log_name;
} add_log_window;
typedef struct {
@ -175,6 +187,8 @@ GtkWidget *UpdateButton;
GtkWidget *LoggingTextView;
GtkWidget *JournalActionsBox;
int last_mode;
char *journal_name;
char *journal_paths;
} inspector_window;
@ -241,9 +255,12 @@ typedef struct {
GtkWidget *MainWindow;
GtkWidget *CancelButton;
GtkWidget *SaveButton;
GtkWidget *LogNamelabel;
GtkWidget *LogNameButton;
GtkWidget *LogNameDescriptionLabel;
GtkWidget *LogNameEntry;
GtkWidget *LogDescriptionEntry;
GtkWidget *LogPathsTree;
GtkWidget *LogPathEditButton;
GtkWidget *LogPathAddButton;
GtkWidget *LogPathRemoveButton;
GtkWidget *RotationPeriodCheck;
GtkWidget *RotationPeriodMainCombo;
GtkWidget *RotationPeriodAdditionalCombo;
@ -289,6 +306,13 @@ typedef struct {
GtkWidget *LogSizeLabel;
GtkWidget *headerTopic;
GtkListStore *list;
GtkCellRenderer *PathCell;
GtkWidget *SharedScenariosCheck;
GtkWidget *CommandBeforeOnceEntry;
GtkWidget *CommandAfterOnceEntry;
GtkWidget *CommandBeforeEntry;
GtkWidget *CommandAfterEntry;
GtkWidget *EndworkCommandEntry;
} logrotate_configure_window;
main_window *setup_window();

@ -12,7 +12,7 @@
#define SAVE_LOCAL_LABEL _("Save to local configuration")
#define SAVE_GLOBAL_LABEL _("Save to global configuration")
#define SAVE_CONFIGURATION_LABEL _("Save configuration")
#define SAVE_CONFIGURATION_LABEL _("Save to global and local configuration")
#define SAVE_LABEL _("Save")
#define LOAD_LOCAL_LABEL _("Load local configuration")
@ -36,4 +36,148 @@
#define GLOBAL_LOCAL_SAVE_SUCCESS_LABEL _("Local and global configuration saving succseeded.")
#define GLOBAL_SAVE_SUCCESS_LABEL _("Global configuration saving succseeded.")
#define LOCAL_SAVE_SUCCESS_LABEL _("Local configuration saving succseeded.")
#define ACCEPT_LABEL _("Accept")
#define ACCEPT_LABEL _("Accept")
//ubl-settings-logging.glade
#define JOURNALS_LABEL _("Journals")
#define SERVICES_LABEL _("Services")
#define LOG_JOURNAL_TAB_LABEL _("Log/Journal")
#define PATH_LABEL _("Path")
#define DESCRIPTION_LABEL _("Description")
#define INSPECT_LABEL _("Inspect log")
#define CONFIGURE_LOG_LABEL _("Configure log")
#define ADD_LOG_LABEL _("Add log")
#define REMOVE_LOG_LABEL _("Remove log")
#define STOP_SERVICE_LABEL _("Stop service")
#define START_SERVICE_LABEL _("Start service")
#define CONFIGURE_SERVICE_LABEL _("Configure service")
#define STATUS_LABEL _("Status")
#define SERVICE_LABEL _("Service")
#define AUTOSTART_LABEL _("Autostart")
//ubl-settings-logging-inspector.glade
#define TOOLTIP_BOOT_LABEL _("Show messages since the current system boot")
#define TOOLTIP_FOLLOW_LABEL _("Follow for new messages")
#define TOOLTIP_KERNEL_LABEL _("Show kernel ring buffer")
#define TOOLTIP_PRIORITY_LABEL _("Show only priority error messages, critical messages and warnings")
// #define LABEL _("Cancel")
// #define LABEL _("Cancel")
// #define LABEL _("Cancel")
#define UPDATE_LABEL _("Update")
//ubl-settings-logging-journald.glade
#define JOURNAL_DESCRIPTION_LABEL _("Description:")
#define JOURNAL_STORAGE_LABEL _("Journal storage place:")
#define COMPRESSION_LABEL _("Use compression:")
#define COMPRESSION_LABEL _("Use compression:")
#define DIVIDE_LABEL _("Split journal files:")
#define INTERVAL_LABEL _("Log recording journal interval:")
#define RECORDS_COUNT_LABEL _("Records amount:")
#define MAX_SIZE_LABEL _("Maximum size of all logs:")
#define MAX_ROTATION_SIZE_LABEL _("Maximum size of rotation journal:")
#define FREE_SPACE_LABEL _("Leave free space at storage:")
#define REDIRECT_LABEL _("Redirect to console:")
#define TTY_LABEL _("TTY:")
#define MESSAGES_TYPE_LABEL _("Type of forwarded messages:")
#define COURNAL_CONFIGURATION_LABEL _("Journal configuration")
#define TOTAL_SIZE_LABEL _("Total log size:")
#define LOWER_SIZE_LABEL _("Lower size to:")
#define APPLY_LABEL _("Apply")
#define STATISTICS_LABEL _("Statistics")
#define DEFAULT_LABEL _("Default")
#define RAM_LABEL _("RAM")
#define DRIVE_LABEL _("Drive")
#define AUTO_LABEL _("Auto")
#define NONE_LABEL _("None")
#define YES_LABEL _("Yes")
#define NO_LABEL _("No")
#define AFTER_LABEL _("After")
#define KB_LABEL _("Kb")
#define MB_LABEL _("Mb")
#define GB_LABEL _("Gb")
#define MINUTES_LABEL _("Minutes")
#define HOURS_LABEL _("Hours")
#define DAYS_LABEL _("Days")
#define WEEKS_LABEL _("Weeks")
#define YEARS_LABEL _("Years")
//ubl-settings-logging-logrotate.glade
#define LOGROTATE_LOG_JOURNAL_TAB_LABEL _("Log/Journal:")
#define PATHS_LABEL _("Paths to log and journals files")
#define ON_LABEL _("On")
#define OFF_LABEL _("Off")
#define SCENARIOS_LABEL _("Scenarios")
#define SCENARIO_RUN_LABEL _("Scenarios are running for each rotated journal")
#define COMMAND_SINGLE_BEFORE_LABEL _("Command before rotation (one time):")
#define COMMAND_SINGLE_AFTER_LABEL _("Command after rotation (one time):")
#define COMMAND_BEFORE_LABEL _("Command before rotation:")
#define COMMAND_AFTER_LABEL _("Command after rotation:")
#define ROTATION_LABEL _("Rotation period:")
#define FILE_SIZE_LABEL _("Maximum size of file:")
#define FREQUENCY_LABEL _("Checking frequency configuration")
#define FILE_AMOUNT_LABEL _("File amount:")
#define STORE_LABEL _("Store at:")
#define ROTATION_USER_LABEL _("Rotation as user:")
#define ROTATION_GROUP_LABEL _("Rotation as group:")
#define ROTATION_CONFIGURATION_LABEL _("Rotation configuration")
#define ERROR_LABEL _("Error processing:")
#define ROTATION_EMPTY_LABEL _("Rotation of jurnal even when it is empty:")
#define DONT_ROTATE_YOUNGER_LABEL _("Do not rotate journal younger than")
#define DAYS_text_LABEL _("days")
#define DELETE_ROTATED_LABEL _("Delete rotated journals older than")
#define ROTATE_SIZE_LABEL _("Rotate journals if size more than")
#define ROTATE_TIME_LABEL _("but not earlier than the specified time interval")
#define ROTATE_BEFORE_LABEL _("before specified time interval")
#define FILE_CHOOSE_LABEL _("File choosing configuration")
#define CREATE_LOG_LABEL _("Create log")
#define AS_USER_LABEL _("as user:")
#define AS_GROUP_LABEL _("as group:")
#define RULES_LABEL _("rules:")
#define CUT_SOURCE_LABEL _("Cut source journal fileafter copy creating instead of moving old journal file and creating new one")
#define FILES_DIRS_CONFIGURATION_LABEL _("Files and directories configuration")
#define DELAY_LABEL _("Delay compression by one journal in queue:")
#define COMPRESSION_CONFIGURATION_LABEL _("Compression configuration")
#define SAVE_ORIGINAL_LABEL _("Save original log file after rotation if it has specified extension:")
#define ADD_DATE_LABEL _("Add date of rotation before log header")
#define START_NUMBER_LABEL _("Number from which numbering of old logs will begin")
#define FILENAME_CONFIGURATION_LABEL _("Filename configuration")
#define EMAIL_AT_ROTATION_LABEL _("Email after rotation:")
#define ADRESS_LABEL _("adress:")
#define CONTENTS_LABEL _("contents:")
#define MESSAGE_CONFIGURATION_LABEL _("Message configuration")
#define MANUAL_LABEL _("Manual input:")
#define LOG_SIZE_LABEL _("Log (-s) size:")
#define SAME_DIR_LABEL _("Same directory")
#define SEPARATE_DIR_LABEL _("Separate directory")
#define OUTPUT_ERRORS_LABEL _("Output errors if log file does not exist*")
#define NO_OUTPUT_ERRORS_LABEL _("Do not output errors if log file does not exist")
#define NO_OUTPUT_LABEL _("Do not output")
#define OURPUT_LABEL _("Output errors")
#define SEND_EMAIL_LABEL _("Send Email")
#define NO_SEND_EMAIL_LABEL _("Don't send Email")
#define FIRST_ROTATED_LABEL _("First rotated copy")
#define LAST_ROTATED_LABEL _("Last rotated copy")
#define MESSAGE_CONFIGURATION_LABEL _("Message configuration")
#define ENDWORK_LABEL _("Endwork command:")
#define SCENARIOS_ROTATE_LABEL _("Scenarios are running for each rotated journal")
#define SCENARIOS_LABEL _("Scenarios")
#define HOURLY_LABEL _("Hourly")
#define DAILY_LABEL _("Daily")
#define WEEKLY_LABEL _("Weekly*")
#define MONTHLY_LABEL _("Monthly")
#define YEARLY_LABEL _("Yearly")
#define MONDAY_LABEL _("Monday")
#define TUESDAY_LABEL _("Tuesday")
#define WEDNESDAY_LABEL _("Wednesday")
#define THURSDAY_LABEL _("Thursday")
#define FRIDAY_LABEL _("Friday")
#define SATURDAY_LABEL _("Saturday")
#define SUNDAY_LABEL _("Sunday*")
//ubl-settings-logging-logrotate-table.glade
#define SYSTEM_CONFIGURATION_LABEL _("System configuration")
#define APPLITATIONS_CONFIGURATION_LABEL _("Applications configuration")
//ubl-settings-logging-add.glade
#define ADD_PATHS_LABEL _("Path (-s):")
#define CONTROL_LABEL _("Control:")
#define LOG_LABEL _("Log file")

@ -455,9 +455,9 @@ char *yon_char_append(char *source, char *append)
int size = strlen(source) + strlen(append) + 1;
char *final = malloc(size);
memset(final, 0, size);
if (strstr(source, "%%"))
sprintf(final, source, append);
else
// if (strstr(source, "%%"))
// sprintf(final, source, append);
// else
sprintf(final, "%s%s", source, append);
return final;
}
@ -607,6 +607,26 @@ char *yon_char_from_int(int int_to_convert)
return ch;
}
/**yon_char_from_long(int int_to_convert)
* [EN]
* converts int to char*.
*
* [RU]
* Конвертирует int в char*
*/
char *yon_char_from_long(long int_to_convert)
{
int i = 1;
double convert_check = (double)int_to_convert;
for (i = 1; convert_check >= 10; i++)
{
convert_check = convert_check / 10;
}
char *ch = g_malloc0(i * sizeof(char) + 1);
sprintf(ch, "%ld", int_to_convert);
return ch;
}
/**yon_char_replace(char *source, char *find, char*replace)
* [EN]
*
@ -621,11 +641,11 @@ char *yon_char_replace(char *source, char *find, char*replace){
char *temp=NULL;
if(!strstr(replace,find)){
while ((final=strstr(source,find))){
temp=malloc(strlen(source)-strlen(final));
temp=malloc(strlen(source)-strlen(final)+strlen(replace));
memset(temp,0,strlen(source)-strlen(final)+strlen(replace));
memcpy(temp,source,strlen(source)-strlen(final));
temp=yon_char_append(temp,replace);
source=yon_char_append(temp,final+1);
source=yon_char_append(temp,final+strlen(find));
}
}
@ -646,14 +666,14 @@ char **yon_char_parse(char *parameters, int *size, char *divider){
char *paramline=yon_char_new(parameters);
char *param;
while ((param=yon_char_divide_search(paramline,divider,1))){
if (strcmp(param,paramline)==0) break;
string=realloc(string,sizeof(char*)*i);
string[i-1]=yon_char_new(param);
i++;
if (strcmp(param,paramline)==0) break;
}
string=realloc(string,sizeof(char*)*i);
string[i-1]=yon_char_new(paramline);
i++;
// string=realloc(string,sizeof(char*)*i);
// string[i-1]=yon_char_new(paramline);
// i++;
// printf("%d\n",i);
*size=i-1;
return string;
@ -765,7 +785,7 @@ void yon_char_parsed_free(config_str source, int size){
* Копирует массив строк [to_copy] в [source]
*/
void yon_char_parsed_copy(config_str *source, config_str *to_copy){
if (source&&!*source&&to_copy&&*to_copy){
if (source&&!*source&&to_copy){
int size=0;
config_str new_char = yon_char_parsed_new(&size,(*to_copy)[0]);
for (int i=0;(*to_copy)[i];i++){
@ -831,6 +851,20 @@ char *yon_ubl_user_get_home_directory(){
return ret;
}
config_str yon_ubl_get_all_users(int *user_size){
struct passwd *user = NULL;
config_str user_list = NULL;
while ((user = getpwent())) {
if (!user_list)
user_list = yon_char_parsed_new(user_size,user->pw_name,NULL);
else {
user_list = yon_char_parsed_append(user_list,user_size,user->pw_name);
}
}
endpwent();
return user_list;
}
// parsing functions
@ -949,18 +983,6 @@ apps *yon_apps_get_by_name(apps *applist, char *name, int size)
return NULL;
};
config_str yon_file_open(char *file_path, int *size){
*size=0;
FILE *file = fopen(file_path,"r");
if (file){
char str_loaded[4098];
config_str final_string = NULL;
while (fgets(str_loaded,4098,file)){
final_string = final_string ? yon_char_parsed_append(final_string,size,str_loaded) : yon_char_parsed_new(size,str_loaded,NULL);
}
return final_string;
}
}
/**
* yon_dir_get_contents(char *dir_path, int *size)
@ -1096,26 +1118,6 @@ int yon_config_remove_by_key(char *key){
return 0;
}
/**yon_config_remove_by_data(void *data)
* [EN]
*
* [RU]
* Производит поиск по конфигу на наличие параметра со значением [data] и удаляет найденное значение из конфига.
*/
int yon_config_remove_by_data(void *data){
check_config{
dictionary *dict = NULL;
for_dictionaries(dict,(dictionary*)__yon__config__strings){
if (dict->data==data){
yon_dictionary_rip(dict);
return 1;
}
}
return 0;
}
return 0;
}
/**yon_config_remove_element(char *key, char *deleted)
* [EN]
*
@ -1161,6 +1163,21 @@ void *yon_config_get_by_key(char *key){
return NULL;
}
void *yon_config_get_all_by_key(char *key, int *size){
check_config{
config_str ret_data=NULL;
dictionary *dict = NULL;
for_dictionaries(dict, (dictionary*)__yon__config__strings){
if (strstr(dict->key,key)) {
char *ret_string = yon_char_unite(dict->key,"=",(char*)dict->data,NULL);
if (ret_data) ret_data = yon_char_parsed_append(ret_data,size,ret_string);
else ret_data = yon_char_parsed_new(size,ret_string,NULL);
}
}
return ret_data;
}
}
/**yon_config_get_key_by_data(char *data)
* [EN]
*
@ -1296,12 +1313,50 @@ int yon_config_save_registered(char *path){
if (dct->data&&strcmp(yon_dictionary_get_data(dct,char*),"")!=0){
if (((yon_config_parameter*)dct)->flag1==1){
((yon_config_parameter*)dct)->flag1=0;
if (sections_add&&yon_dictionary_get(&sections_add,((yon_config_parameter*)dct)->section)) sections_add->data=(void*)yon_char_unite(yon_dictionary_get_data(sections_add,char*)," ",dct->key,"=\"",yon_dictionary_get_data(dct,char*),"\"",NULL);
else yon_dictionary_add_or_create_if_exists_with_data(sections_add,((yon_config_parameter*)dct)->section,yon_char_unite (ubconfig_save_command,path ? yon_char_append(" --target ",path):"", " set ", ((yon_config_parameter*)dct)->section," ", dct->key,"=\"",yon_dictionary_get_data(dct,char*),"\"",NULL));
if (sections_add&&yon_dictionary_get(&sections_add,((yon_config_parameter*)dct)->section)) sections_add->data=(void*)yon_char_unite(yon_dictionary_get_data(sections_add,char*)," ",dct->key,"=",yon_dictionary_get_data(dct,char*),NULL);
else yon_dictionary_add_or_create_if_exists_with_data(sections_add,((yon_config_parameter*)dct)->section,yon_char_unite (ubconfig_save_command,path ? yon_char_append(" --target ",path):"", " set ", ((yon_config_parameter*)dct)->section, " ",dct->key,"=\"",yon_dictionary_get_data(dct,char*),"\"",NULL));
} else if (((yon_config_parameter*)dct)->flag1==-1){
((yon_config_parameter*)dct)->flag1=0;
if (sections_remove&&yon_dictionary_get(&sections_remove,((yon_config_parameter*)dct)->section)) sections_remove->data=(void*)yon_char_unite(yon_dictionary_get_data(sections_remove,char*)," ",dct->key,NULL);
else yon_dictionary_add_or_create_if_exists_with_data(sections_remove,((yon_config_parameter*)dct)->section,yon_char_unite (ubconfig_save_command,path ? yon_char_append(" --target ",path):"", " remove ", ((yon_config_parameter*)dct)->section, " ",dct->key,NULL));
yon_dictionary_rip(dct);
}
}
}
if (sections_add)
for_dictionaries(dct,sections_add){
char *command = yon_dictionary_get_data(dct,char*);
yon_launch(command);
}
if (sections_remove)
for_dictionaries(dct,sections_remove){
char *command = yon_dictionary_get_data(dct,char*);
yon_launch(command);
}
return 1;
} else return 1;
}
/**int yon_config_force_save_registered(char *path, char *section)
* [EN]
* Saves config with [command]
* [RU]
* Выполняет команду [command], добавляя в конец все записи конфига в таком виде:
* [ПАРАМЕТР1]="[значения1]" [ПАРАМЕТР2]="[значения2]"
*/
int yon_config_force_save_registered(char *path){
check_config{
dictionary *dct;
dictionary *sections_add=NULL;
dictionary *sections_remove=NULL;
for_dictionaries(dct,(dictionary*)__yon__config__strings){
if (dct->data&&strcmp(yon_dictionary_get_data(dct,char*),"")!=0){
if (((yon_config_parameter*)dct)->flag1==1||((yon_config_parameter*)dct)->flag1==0){
if (sections_add&&yon_dictionary_get(&sections_add,((yon_config_parameter*)dct)->section)) sections_add->data=(void*)yon_char_unite(yon_dictionary_get_data(sections_add,char*)," ",dct->key,"=",yon_dictionary_get_data(dct,char*),NULL);
else yon_dictionary_add_or_create_if_exists_with_data(sections_add,((yon_config_parameter*)dct)->section,yon_char_unite (ubconfig_save_command,path ? yon_char_append(" --target ",path):"", " set ", ((yon_config_parameter*)dct)->section, " ",dct->key,"=",yon_dictionary_get_data(dct,char*),NULL));
} else if (((yon_config_parameter*)dct)->flag1==-1){
if (sections_remove&&yon_dictionary_get(&sections_remove,((yon_config_parameter*)dct)->section)) sections_remove->data=(void*)yon_char_unite(yon_dictionary_get_data(sections_remove,char*)," ",dct->key,NULL);
else yon_dictionary_add_or_create_if_exists_with_data(sections_remove,((yon_config_parameter*)dct)->section,yon_char_unite (ubconfig_save_command,path ? yon_char_append(" --target ",path):"", " remove ", ((yon_config_parameter*)dct)->section, " ",dct->key,NULL));
}
}
}
@ -1317,24 +1372,6 @@ int yon_config_save_registered(char *path){
}
// char *command = yon_char_unite(ubconfig_save_command,path ? yon_char_append(" --target ",path):"", " set ", section, " ", yon_dictionary_get_data(dct,char*),NULL);
// char *remove_command = yon_char_unite(ubconfig_save_command, path ? yon_char_append(" --target ",path):"", " remove "," ", yon_dictionary_get_data(dct,char*), section,NULL);
// dictionary *dict = NULL;
// int any_add = 0;
// int any_remove = 0;
// for_dictionaries(dict,(dictionary*)__yon__config__strings){
// char *data = yon_dictionary_get_data(dict,char*);
// if (((yon_config_parameter*)dict)->flag1==1&&strcmp(data,"")!=0){
// command = yon_char_unite(command, " ", dict->key,"=\"", yon_dictionary_get_data(dict,char*),"\"", NULL);
// any_add=1;
// }
// if (strcmp(data,"")==0){
// remove_command = yon_char_unite(remove_command, " ", dict->key, NULL);
// any_remove=1;
// }
// }
// if (any_add) yon_launch(command);
// if (any_remove) yon_launch(remove_command);
return 1;
} else return 1;
}
@ -1358,6 +1395,7 @@ config_str yon_config_get_all(int *size){
}
conf = yon_remalloc(conf,sizeof(char*)*(*size));
conf[*size-1] = NULL;
(*size)=(*size)-1;
return conf;
} else return NULL;
}
@ -1395,7 +1433,18 @@ char *yon_config_get_parameter(config_str parameters, int size, char *param)
return NULL;
}
config_str yon_file_open(char *file_path, int *size){
*size=0;
FILE *file = fopen(file_path,"r");
if (file){
char str_loaded[4098];
config_str final_string = NULL;
while (fgets(str_loaded,4098,file)){
final_string = final_string ? yon_char_parsed_append(final_string,size,str_loaded) : yon_char_parsed_new(size,str_loaded,NULL);
}
return final_string;
}
}
// terminal-using functions
@ -1783,7 +1832,7 @@ void yon_terminal_integrated_start(GtkWidget *terminal, char* command, void *end
param->section=section;
yon_dictionary_add_or_create_if_exists_with_data(__yon_main_window_config.deleted_parameters,param->parameter_name,param);
}
int yon_window_config_get_parameter(char *section, char *config_parameter, void *return_value, enum YON_TYPE type){
GError *err=NULL;
switch (type){
@ -1825,7 +1874,7 @@ GtkWidget *yon_ubl_menu_item_about_new(char *buttonname){
GtkWidget *yon_ubl_menu_item_documentation_new(char *buttonname){
GtkWidget *menu_item = gtk_menu_item_new();
gtk_style_context_add_class(gtk_widget_get_style_context(menu_item),"menuitemtop");
gtk_style_context_add_class(gtk_widget_get_style_context(menu_item),"menuitemmiddle");
GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0);
GtkWidget *label = gtk_label_new(buttonname);
GtkWidget *image = gtk_image_new_from_icon_name("dialog-question-symbolic",GTK_ICON_SIZE_BUTTON);
@ -1840,13 +1889,13 @@ GtkWidget *yon_ubl_menu_item_documentation_new(char *buttonname){
// other Gtk functions
/**yon_gtk_combo_box_text_fill(GtkWidget *combo, config_str parameters,int size)
/**yon_gtk_combo_box_fill(GtkWidget *combo, config_str parameters,int size)
* [EN]
*
* [RU]
* Добавляет в Комбобокс [combo] все строки из массива строк [parameters] размера [size]
*/
int yon_gtk_combo_box_text_fill(GtkWidget *combo, config_str parameters,int size){
int yon_gtk_combo_box_fill(GtkWidget *combo, config_str parameters,int size){
if (combo&&parameters){
for (int i=0;i<size;i++){
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo),parameters[i]);
@ -1926,11 +1975,11 @@ void yon_gtk_widget_set_sensitive_from_toggle_button_inversed(GtkToggleButton *t
}
void yon_gtk_widget_set_sensitive_from_combo_box(GtkComboBox *toggle, GtkWidget *target){
gtk_widget_set_sensitive(target,gtk_combo_box_get_active(toggle)>=0 ? 1 : 0);
gtk_widget_set_sensitive(target,gtk_combo_box_get_active(toggle)>0 ? 1 : 0);
}
void yon_gtk_widget_set_sensitive_from_toggle_combo_box_inversed(GtkComboBox *toggle, GtkWidget *target){
gtk_widget_set_sensitive(target,!gtk_combo_box_get_active(toggle)>=0 ? 0 : 1);
void yon_gtk_widget_set_sensitive_from_combo_box_inversed(GtkComboBox *toggle, GtkWidget *target){
gtk_widget_set_sensitive(target,!gtk_combo_box_get_active(toggle)>0 ? 0 : 1);
}
void _yon_ubl_header_setup(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path)

@ -123,6 +123,8 @@ void *yon_dictionary_free_all(dictionary *dictionary,void (data_manipulation)(vo
#define yon_char_divide_search_self(str,find,delete_divider) {char *temp = str; str = yon_char_divide_search(str,find,delete_divider); free(temp);}
#define yon_char_is_empty(string) !(string&&strcmp(string,""))
int yon_char_find_last(char *source, char find);
char *yon_char_append(char *source, char *append);
@ -139,6 +141,8 @@ char *yon_char_divide_search(char *source, char *dividepos, int delete_divider);
char *yon_char_from_int(int int_to_convert);
char *yon_char_from_long(long int_to_convert);
char *yon_char_replace(char *source, char *find, char*replace);
char **yon_char_parse(char *parameters, int *size, char *divider);
@ -165,6 +169,8 @@ char *yon_ubl_root_user_get();
char *yon_ubl_user_get_home_directory();
config_str yon_ubl_get_all_users(int *user_size);
// parsing functions
config_str philos_list_user(int* size);
@ -194,6 +200,8 @@ config_str yon_config_load(char *command, int *str_len);
int yon_config_save_registered(char *path);
int yon_config_force_save_registered(char *path);
char *yon_config_get_parameter(config_str parameters, int size, char *param);
int yon_config_load_register(YON_CONFIG_TYPE config_type,char *section,char *parameter, ...);
@ -206,6 +214,8 @@ int yon_config_remove_element(char *key, char *deleted);
void *yon_config_get_by_key(char *key);
void *yon_config_get_all_by_key(char *key, int *size);
char *yon_config_get_key_by_data(char *data);
int yon_config_set(char *key, void *data);

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkBox" id="PathBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Path (-s):</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="PathEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SearchButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image4</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="AppendButton">
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image3</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButton" id="RemoveButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image9</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.increase-symbolic</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.zoom-symbolic</property>
</object>
<object class="GtkImage" id="image9">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.decrease-symbolic</property>
</object>
</interface>

@ -28,16 +28,6 @@
<property name="can-focus">False</property>
<property name="icon-name">emblem-ok-symbolic</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.increase-symbolic</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.zoom-symbolic</property>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -135,6 +125,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Log/Journal:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -166,85 +157,34 @@
</packing>
</child>
<child>
<object class="GtkBox">
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<property name="can-focus">True</property>
<property name="hscrollbar-policy">never</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkLabel" id="label4">
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Path (-s):</property>
<property name="xalign">0</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<child>
<object class="GtkBox" id="LogPathsBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="LogPathEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="LogSearchButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image4</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="LogFindButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image3</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButton" id="LogRemoveButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image9</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
@ -259,6 +199,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Description:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -286,14 +227,14 @@
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
@ -312,7 +253,7 @@
</packing>
</child>
<child>
<object class="GtkBox">
<object class="GtkBox" id="ControlSectionBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
@ -321,6 +262,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Control:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -409,7 +351,7 @@
<object class="GtkFrame" id="StatisticsFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
@ -429,6 +371,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Log size:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -513,13 +456,7 @@
<widgets>
<widget name="label1"/>
<widget name="label2"/>
<widget name="label4"/>
<widget name="label3"/>
</widgets>
</object>
<object class="GtkImage" id="image9">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.decrease-symbolic</property>
</object>
</interface>

@ -9,6 +9,16 @@
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment10">
<property name="upper">100</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment11">
<property name="upper">100</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment2">
<property name="upper">1024</property>
<property name="step-increment">1</property>
@ -44,6 +54,11 @@
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment9">
<property name="upper">100</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -128,16 +143,19 @@
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel">
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Log/Journal:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -146,15 +164,15 @@
</packing>
</child>
<child>
<object class="GtkLabel" id="LogNameLabel">
<object class="GtkEntry" id="LogNameEntry">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">logname</property>
<property name="can-focus">True</property>
<property name="text" translatable="yes">journald</property>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
</object>
@ -170,10 +188,11 @@
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel">
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Description:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -182,15 +201,15 @@
</packing>
</child>
<child>
<object class="GtkLabel" id="LogDescriptionLabel">
<object class="GtkEntry" id="LogDescriptionEntry">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">logdescription</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
</object>
@ -212,7 +231,7 @@
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
@ -251,6 +270,10 @@
<property name="active">0</property>
<items>
<item translatable="yes">Default</item>
<item translatable="yes">RAM</item>
<item translatable="yes">Drive</item>
<item translatable="yes">Auto</item>
<item translatable="yes">None</item>
</items>
</object>
<packing>
@ -290,6 +313,9 @@
<property name="active">0</property>
<items>
<item translatable="yes">Default</item>
<item translatable="yes">Yes</item>
<item translatable="yes">No</item>
<item translatable="yes">After</item>
</items>
</object>
<packing>
@ -299,9 +325,11 @@
</packing>
</child>
<child>
<object class="GtkEntry" id="LogCompressionEntry">
<object class="GtkSpinButton" id="LogCompressionSpin">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="adjustment">adjustment11</property>
</object>
<packing>
<property name="expand">False</property>
@ -312,13 +340,13 @@
<child>
<object class="GtkComboBoxText" id="LogCompressionSizeCombo">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Kb</item>
<item translatable="yes">Mb</item>
<item translatable="yes">Gb</item>
<item translatable="yes">Tb</item>
</items>
</object>
<packing>
@ -343,7 +371,7 @@
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Divide journal files:</property>
<property name="label" translatable="yes">Split journal files:</property>
</object>
<packing>
<property name="expand">False</property>
@ -358,6 +386,8 @@
<property name="active">0</property>
<items>
<item translatable="yes">Default</item>
<item translatable="yes">UID</item>
<item translatable="yes">No</item>
</items>
</object>
<packing>
@ -395,6 +425,7 @@
<child>
<object class="GtkSpinButton" id="LogIntervalSpin">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="adjustment">adjustment4</property>
</object>
@ -408,6 +439,7 @@
<object class="GtkCheckButton" id="LogIntervalAmountCheck">
<property name="label" translatable="yes">Records amount:</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
@ -421,6 +453,7 @@
<child>
<object class="GtkSpinButton" id="LogIntervalAmountSpin">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="adjustment">adjustment5</property>
</object>
@ -459,6 +492,7 @@
<child>
<object class="GtkSpinButton" id="LogSizeMaxSpin">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="adjustment">adjustment6</property>
</object>
@ -471,13 +505,13 @@
<child>
<object class="GtkComboBoxText" id="LogSizeMaxCombo">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Kb</item>
<item translatable="yes">Mb</item>
<item translatable="yes">Gb</item>
<item translatable="yes">Tb</item>
</items>
</object>
<packing>
@ -515,6 +549,7 @@
<child>
<object class="GtkSpinButton" id="RotationSizeMaxSpin">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="adjustment">adjustment7</property>
</object>
@ -527,12 +562,13 @@
<child>
<object class="GtkComboBoxText" id="RotationSizeMaxCombo">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Kb</item>
<item translatable="yes">Mb</item>
<item translatable="yes">Gb</item>
<item translatable="yes">Tb</item>
</items>
</object>
<packing>
@ -555,7 +591,7 @@
<property name="spacing">5</property>
<child>
<object class="GtkCheckButton" id="LogFreeSpaceCheck">
<property name="label" translatable="yes">Leave free space at storage: </property>
<property name="label" translatable="yes">Leave free space at storage:</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
@ -570,6 +606,7 @@
<child>
<object class="GtkSpinButton" id="LogFreeSpaceSpin">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="adjustment">adjustment8</property>
</object>
@ -582,12 +619,13 @@
<child>
<object class="GtkComboBoxText" id="LogFreeSpaceCombo">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Kb</item>
<item translatable="yes">Mb</item>
<item translatable="yes">Gb</item>
<item translatable="yes">Tb</item>
</items>
</object>
<packing>
@ -624,8 +662,11 @@
<object class="GtkComboBoxText" id="RedirectCombo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Default</item>
<item translatable="yes">Yes</item>
<item translatable="yes">No</item>
</items>
</object>
<packing>
@ -649,7 +690,9 @@
<child>
<object class="GtkEntry" id="RedirectTTYEntry">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="input-purpose">alpha</property>
</object>
<packing>
<property name="expand">False</property>
@ -685,8 +728,17 @@
<object class="GtkComboBoxText" id="ForwardedTypeCombo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Default</item>
<item translatable="yes">emerg</item>
<item translatable="yes">alert</item>
<item translatable="yes">crit</item>
<item translatable="yes">err</item>
<item translatable="yes">warning</item>
<item translatable="yes">notice</item>
<item translatable="yes">info</item>
<item translatable="yes">debug</item>
</items>
</object>
<packing>
@ -724,7 +776,7 @@
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
@ -793,9 +845,10 @@
</packing>
</child>
<child>
<object class="GtkEntry" id="LowerSizeEntry">
<object class="GtkSpinButton" id="LowerSizeSpin">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="adjustment">adjustment9</property>
</object>
<packing>
<property name="expand">False</property>
@ -807,11 +860,11 @@
<object class="GtkComboBoxText" id="LowerSizeCombo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Kb</item>
<item translatable="yes">Mb</item>
<item translatable="yes">Gb</item>
<item translatable="yes">Tb</item>
</items>
</object>
<packing>
@ -859,9 +912,10 @@
</packing>
</child>
<child>
<object class="GtkEntry" id="LowerTimeEntry">
<object class="GtkSpinButton" id="LowerTimeSpin">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="adjustment">adjustment10</property>
</object>
<packing>
<property name="expand">False</property>
@ -873,12 +927,13 @@
<object class="GtkComboBoxText" id="LowerTimeCombo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Minutes</item>
<item translatable="yes">Hours</item>
<item translatable="yes">Days</item>
<item translatable="yes">Weeks</item>
<item translatable="yes">Months</item>
<item translatable="yes">Years</item>
</items>
</object>
<packing>
@ -975,4 +1030,10 @@
</object>
</child>
</object>
<object class="GtkSizeGroup">
<widgets>
<widget name="label1"/>
<widget name="label2"/>
</widgets>
</object>
</interface>

@ -195,6 +195,9 @@
<property name="title" translatable="yes">Log/Journal</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
@ -203,6 +206,9 @@
<property name="title" translatable="yes">Path</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
@ -211,6 +217,9 @@
<property name="title" translatable="yes">Description</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,383 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">emblem-ok-symbolic</property>
</object>
<object class="GtkWindow" id="MainWindow">
<property name="can-focus">False</property>
<property name="default-width">550</property>
<property name="default-height">450</property>
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
<child>
<object class="GtkBox" id="plugBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="bottom-padding">5</property>
<property name="left-padding">5</property>
<property name="right-padding">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkCheckButton" id="UserReadCheck">
<property name="label" translatable="yes">Read</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="UserWriteCheck">
<property name="label" translatable="yes">Write</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="UserExecuteCheck">
<property name="label" translatable="yes">Execute</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Owner rules</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="bottom-padding">5</property>
<property name="left-padding">5</property>
<property name="right-padding">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkCheckButton" id="GroupReadCheck">
<property name="label" translatable="yes">Read</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="GroupWriteCheck">
<property name="label" translatable="yes">Write</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="GroupExecuteCheck">
<property name="label" translatable="yes">Execute</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Group rules</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="bottom-padding">5</property>
<property name="left-padding">5</property>
<property name="right-padding">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkCheckButton" id="PublicReadCheck">
<property name="label" translatable="yes">Read</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="PublicWriteCheck">
<property name="label" translatable="yes">Write</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="PublicExecuteCheck">
<property name="label" translatable="yes">Execute</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Public rules</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Value:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="FinalEntry">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="spacing">5</property>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Accept</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">4</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="headerBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="headerTopic">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="pixel-size">32</property>
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
</object>
</child>
<style>
<class name="toolbar"/>
</style>
</object>
</child>
</object>
</interface>

@ -201,6 +201,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<columns>
<!-- column-name gboolean1 -->
<column type="gboolean"/>
<!-- column-name gboolean2 -->
<column type="gboolean"/>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
<!-- column-name gchararray2 -->
@ -514,7 +516,7 @@ translated and supported by community.</property>
<object class="GtkMenuItem" id="SaveGlobalLocalConfigurationMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Save configuration</property>
<property name="label" translatable="yes">Save to global and local configuration</property>
<style>
<class name="menuitemtop"/>
</style>
@ -592,6 +594,7 @@ translated and supported by community.</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="foreground" value="#4d4d4d4d4d4d"/>
@ -681,6 +684,7 @@ translated and supported by community.</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Inspect log</property>
<property name="image">image1</property>
<style>
<class name="thin"/>
@ -697,6 +701,7 @@ translated and supported by community.</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Configure log</property>
<property name="image">image2</property>
<style>
<class name="thin"/>
@ -713,6 +718,7 @@ translated and supported by community.</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Add log</property>
<property name="image">image3</property>
<style>
<class name="thin"/>
@ -729,6 +735,7 @@ translated and supported by community.</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Remove log</property>
<property name="image">image4</property>
<style>
<class name="thin"/>
@ -853,6 +860,7 @@ translated and supported by community.</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Stop service</property>
<property name="image">image5</property>
<style>
<class name="thin"/>
@ -869,6 +877,7 @@ translated and supported by community.</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Start service</property>
<property name="image">image6</property>
<style>
<class name="thin"/>
@ -885,6 +894,7 @@ translated and supported by community.</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Configure service</property>
<property name="image">image7</property>
<style>
<class name="thin"/>
@ -918,6 +928,8 @@ translated and supported by community.</property>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Status</property>
<child>
<object class="GtkCellRendererToggle"/>
@ -929,22 +941,39 @@ translated and supported by community.</property>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Autostart</property>
<child>
<object class="GtkCellRendererToggle"/>
<attributes>
<attribute name="active">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Service</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="markup">1</attribute>
<attribute name="markup">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Description</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="markup">2</attribute>
<attribute name="markup">3</attribute>
</attributes>
</child>
</object>

@ -22,11 +22,11 @@ msgid "Version:"
msgstr ""
#: source/ubl-strings.h:2
msgid "ubl-settings-logging version:"
msgid "ubl-settings-loggign version:"
msgstr ""
#: source/ubl-strings.h:2
msgid "logging settings"
#: source/ubl-strings.h:2 source/ubl-strings.h:4
msgid "Logs and events"
msgstr ""
#: source/ubl-strings.h:2
@ -69,10 +69,6 @@ msgstr ""
msgid "Lock global configration loading"
msgstr ""
#: source/ubl-strings.h:4
msgid "Logs and events"
msgstr ""
#: source/ubl-strings.h:5
msgid "Logs and events configuration"
msgstr ""
@ -95,80 +91,594 @@ msgstr ""
msgid "Documentation"
msgstr ""
#: source/ubl-strings.h:12
#: source/ubl-strings.h:13
msgid "Save to local configuration"
msgstr ""
#: source/ubl-strings.h:13
#: source/ubl-strings.h:14
msgid "Save to global configuration"
msgstr ""
#: source/ubl-strings.h:14
msgid "Save configuration"
#: source/ubl-strings.h:15
msgid "Save to global and local configuration"
msgstr ""
#: source/ubl-strings.h:15
#: source/ubl-strings.h:16
msgid "Save"
msgstr ""
#: source/ubl-strings.h:16
#: source/ubl-strings.h:18
msgid "Load local configuration"
msgstr ""
#: source/ubl-strings.h:17
#: source/ubl-strings.h:19
msgid "Load global configuration"
msgstr ""
#: source/ubl-strings.h:18
#: source/ubl-strings.h:20
msgid "Load"
msgstr ""
#: source/ubl-strings.h:20
#: source/ubl-strings.h:22
msgid "Cancel"
msgstr ""
#: source/ubl-strings.h:22
#: source/ubl-strings.h:24
msgid "Would you like to read documentation in the Web?"
msgstr ""
#: source/ubl-strings.h:23
#: source/ubl-strings.h:25
msgid ""
"You will be redirected to documentation website where documentation is\n"
"translated and supported by community."
msgstr ""
#: source/ubl-strings.h:24
#: source/ubl-strings.h:26
msgid "Always redirect to online documentation"
msgstr ""
#: source/ubl-strings.h:25
#: source/ubl-strings.h:27
msgid "Open documentation"
msgstr ""
#: source/ubl-strings.h:26
#: source/ubl-strings.h:28
msgid "Project Home Page"
msgstr ""
#: source/ubl-strings.h:27
#: source/ubl-strings.h:29
msgid "Nothing were chosen"
msgstr ""
#: source/ubl-strings.h:30
#: source/ubl-strings.h:32
msgid "Global configuration loading succseeded."
msgstr ""
#: source/ubl-strings.h:31
#: source/ubl-strings.h:33
msgid "Local configuration loading succseeded."
msgstr ""
#: source/ubl-strings.h:33
#: source/ubl-strings.h:34
msgid "Config loading failed"
msgstr ""
#: source/ubl-strings.h:36
msgid "Local and global configuration saving succseeded."
msgstr ""
#: source/ubl-strings.h:34
#: source/ubl-strings.h:37
msgid "Global configuration saving succseeded."
msgstr ""
#: source/ubl-strings.h:35
#: source/ubl-strings.h:38
msgid "Local configuration saving succseeded."
msgstr ""
#: source/ubl-strings.h:39
msgid "Accept"
msgstr ""
#: source/ubl-strings.h:41
msgid "Journals"
msgstr ""
#: source/ubl-strings.h:42
msgid "Services"
msgstr ""
#: source/ubl-strings.h:43
msgid "Log/Journal"
msgstr ""
#: source/ubl-strings.h:44
msgid "Path"
msgstr ""
#: source/ubl-strings.h:45
msgid "Description"
msgstr ""
#: source/ubl-strings.h:46
msgid "Inspect log"
msgstr ""
#: source/ubl-strings.h:47
msgid "Configure log"
msgstr ""
#: source/ubl-strings.h:48
msgid "Add log"
msgstr ""
#: source/ubl-strings.h:49
msgid "Remove log"
msgstr ""
#: source/ubl-strings.h:50
msgid "Stop service"
msgstr ""
#: source/ubl-strings.h:51
msgid "Start service"
msgstr ""
#: source/ubl-strings.h:52
msgid "Configure service"
msgstr ""
#: source/ubl-strings.h:53
msgid "Status"
msgstr ""
#: source/ubl-strings.h:54
msgid "Service"
msgstr ""
#: source/ubl-strings.h:55
msgid "Autostart"
msgstr ""
#: source/ubl-strings.h:58
msgid "Show messages since the current system boot"
msgstr ""
#: source/ubl-strings.h:59
msgid "Follow for new messages"
msgstr ""
#: source/ubl-strings.h:60
msgid "Show kernel ring buffer"
msgstr ""
#: source/ubl-strings.h:61
msgid "Show only priority error messages, critical messages and warnings"
msgstr ""
#: source/ubl-strings.h:65
msgid "Update"
msgstr ""
#: source/ubl-strings.h:68
msgid "Description:"
msgstr ""
#: source/ubl-strings.h:69
msgid "Journal storage place:"
msgstr ""
#: source/ubl-strings.h:70 source/ubl-strings.h:71
msgid "Use compression:"
msgstr ""
#: source/ubl-strings.h:72
msgid "Split journal files:"
msgstr ""
#: source/ubl-strings.h:73
msgid "Log recording journal interval:"
msgstr ""
#: source/ubl-strings.h:74
msgid "Records amount:"
msgstr ""
#: source/ubl-strings.h:75
msgid "Maximum size of all logs:"
msgstr ""
#: source/ubl-strings.h:76
msgid "Maximum size of rotation journal:"
msgstr ""
#: source/ubl-strings.h:77
msgid "Leave free space at storage:"
msgstr ""
#: source/ubl-strings.h:78
msgid "Redirect to console:"
msgstr ""
#: source/ubl-strings.h:79
msgid "TTY:"
msgstr ""
#: source/ubl-strings.h:80
msgid "Type of forwarded messages:"
msgstr ""
#: source/ubl-strings.h:81
msgid "Journal configuration"
msgstr ""
#: source/ubl-strings.h:82
msgid "Total log size:"
msgstr ""
#: source/ubl-strings.h:83
msgid "Lower size to:"
msgstr ""
#: source/ubl-strings.h:84
msgid "Apply"
msgstr ""
#: source/ubl-strings.h:85
msgid "Statistics"
msgstr ""
#: source/ubl-strings.h:86
msgid "Default"
msgstr ""
#: source/ubl-strings.h:87
msgid "RAM"
msgstr ""
#: source/ubl-strings.h:88
msgid "Drive"
msgstr ""
#: source/ubl-strings.h:89
msgid "Auto"
msgstr ""
#: source/ubl-strings.h:90
msgid "None"
msgstr ""
#: source/ubl-strings.h:91
msgid "Yes"
msgstr ""
#: source/ubl-strings.h:92
msgid "No"
msgstr ""
#: source/ubl-strings.h:93
msgid "After"
msgstr ""
#: source/ubl-strings.h:94
msgid "Kb"
msgstr ""
#: source/ubl-strings.h:95
msgid "Mb"
msgstr ""
#: source/ubl-strings.h:96
msgid "Gb"
msgstr ""
#: source/ubl-strings.h:97
msgid "Minutes"
msgstr ""
#: source/ubl-strings.h:98
msgid "Hours"
msgstr ""
#: source/ubl-strings.h:99
msgid "Days"
msgstr ""
#: source/ubl-strings.h:100
msgid "Weeks"
msgstr ""
#: source/ubl-strings.h:101
msgid "Years"
msgstr ""
#: source/ubl-strings.h:104
msgid "Log/Journal:"
msgstr ""
#: source/ubl-strings.h:105
msgid "Paths to log and journals files"
msgstr ""
#: source/ubl-strings.h:106
msgid "On"
msgstr ""
#: source/ubl-strings.h:107
msgid "Off"
msgstr ""
#: source/ubl-strings.h:108 source/ubl-strings.h:162
msgid "Scenarios"
msgstr ""
#: source/ubl-strings.h:109 source/ubl-strings.h:161
msgid "Scenarios are running for each rotated journal"
msgstr ""
#: source/ubl-strings.h:110
msgid "Command before rotation (one time):"
msgstr ""
#: source/ubl-strings.h:111
msgid "Command after rotation (one time):"
msgstr ""
#: source/ubl-strings.h:112
msgid "Command before rotation:"
msgstr ""
#: source/ubl-strings.h:113
msgid "Command after rotation:"
msgstr ""
#: source/ubl-strings.h:114
msgid "Rotation period:"
msgstr ""
#: source/ubl-strings.h:115
msgid "Maximum size of file:"
msgstr ""
#: source/ubl-strings.h:116
msgid "Checking frequency configuration"
msgstr ""
#: source/ubl-strings.h:117
msgid "File amount:"
msgstr ""
#: source/ubl-strings.h:118
msgid "Store at:"
msgstr ""
#: source/ubl-strings.h:119
msgid "Rotation as user:"
msgstr ""
#: source/ubl-strings.h:120
msgid "Rotation as group:"
msgstr ""
#: source/ubl-strings.h:121
msgid "Rotation configuration"
msgstr ""
#: source/ubl-strings.h:122
msgid "Error processing:"
msgstr ""
#: source/ubl-strings.h:123
msgid "Rotation of jurnal even when it is empty:"
msgstr ""
#: source/ubl-strings.h:124
msgid "Do not rotate journal younger than"
msgstr ""
#: source/ubl-strings.h:125
msgid "days"
msgstr ""
#: source/ubl-strings.h:126
msgid "Delete rotated journals older than"
msgstr ""
#: source/ubl-strings.h:127
msgid "Rotate journals if size more than"
msgstr ""
#: source/ubl-strings.h:128
msgid "but not earlier than the specified time interval"
msgstr ""
#: source/ubl-strings.h:129
msgid "before specified time interval"
msgstr ""
#: source/ubl-strings.h:130
msgid "File choosing configuration"
msgstr ""
#: source/ubl-strings.h:131
msgid "Create log"
msgstr ""
#: source/ubl-strings.h:132
msgid "as user:"
msgstr ""
#: source/ubl-strings.h:133
msgid "as group:"
msgstr ""
#: source/ubl-strings.h:134
msgid "rules:"
msgstr ""
#: source/ubl-strings.h:135
msgid ""
"Cut source journal fileafter copy creating instead of moving old journal "
"file and creating new one"
msgstr ""
#: source/ubl-strings.h:136
msgid "Files and directories configuration"
msgstr ""
#: source/ubl-strings.h:137
msgid "Delay compression by one journal in queue:"
msgstr ""
#: source/ubl-strings.h:138
msgid "Compression configuration"
msgstr ""
#: source/ubl-strings.h:139
msgid "Save original log file after rotation if it has specified extension:"
msgstr ""
#: source/ubl-strings.h:140
msgid "Add date of rotation before log header"
msgstr ""
#: source/ubl-strings.h:141
msgid "Number from which numbering of old logs will begin"
msgstr ""
#: source/ubl-strings.h:142
msgid "Filename configuration"
msgstr ""
#: source/ubl-strings.h:143
msgid "Email after rotation:"
msgstr ""
#: source/ubl-strings.h:144
msgid "adress:"
msgstr ""
#: source/ubl-strings.h:145
msgid "contents:"
msgstr ""
#: source/ubl-strings.h:146 source/ubl-strings.h:159
msgid "Message configuration"
msgstr ""
#: source/ubl-strings.h:147
msgid "Manual input:"
msgstr ""
#: source/ubl-strings.h:148
msgid "Log (-s) size:"
msgstr ""
#: source/ubl-strings.h:149
msgid "Same directory"
msgstr ""
#: source/ubl-strings.h:150
msgid "Separate directory"
msgstr ""
#: source/ubl-strings.h:151
msgid "Output errors if log file does not exist*"
msgstr ""
#: source/ubl-strings.h:152
msgid "Do not output errors if log file does not exist"
msgstr ""
#: source/ubl-strings.h:153
msgid "Do not output"
msgstr ""
#: source/ubl-strings.h:154
msgid "Output errors"
msgstr ""
#: source/ubl-strings.h:155
msgid "Send Email"
msgstr ""
#: source/ubl-strings.h:156
msgid "Don't send Email"
msgstr ""
#: source/ubl-strings.h:157
msgid "First rotated copy"
msgstr ""
#: source/ubl-strings.h:158
msgid "Last rotated copy"
msgstr ""
#: source/ubl-strings.h:160
msgid "Endwork command:"
msgstr ""
#: source/ubl-strings.h:163
msgid "Hourly"
msgstr ""
#: source/ubl-strings.h:164
msgid "Daily"
msgstr ""
#: source/ubl-strings.h:165
msgid "Weekly*"
msgstr ""
#: source/ubl-strings.h:166
msgid "Monthly"
msgstr ""
#: source/ubl-strings.h:167
msgid "Yearly"
msgstr ""
#: source/ubl-strings.h:168
msgid "Monday"
msgstr ""
#: source/ubl-strings.h:169
msgid "Tuesday"
msgstr ""
#: source/ubl-strings.h:170
msgid "Wednesday"
msgstr ""
#: source/ubl-strings.h:171
msgid "Thursday"
msgstr ""
#: source/ubl-strings.h:172
msgid "Friday"
msgstr ""
#: source/ubl-strings.h:173
msgid "Saturday"
msgstr ""
#: source/ubl-strings.h:174
msgid "Sunday*"
msgstr ""
#: source/ubl-strings.h:177
msgid "System configuration"
msgstr ""
#: source/ubl-strings.h:178
msgid "Applications configuration"
msgstr ""
#: source/ubl-strings.h:181
msgid "Path (-s):"
msgstr ""
#: source/ubl-strings.h:182
msgid "Control:"
msgstr ""
#: source/ubl-strings.h:183
msgid "Log file"
msgstr ""

@ -22,12 +22,12 @@ msgid "Version:"
msgstr "Версия:"
#: source/ubl-strings.h:2
msgid "ubl-settings-logging version:"
msgid "ubl-settings-loggign version:"
msgstr "Версия ubl-settings-logging: "
#: source/ubl-strings.h:2
msgid "logging settings"
msgstr "Настройки logging"
#: source/ubl-strings.h:2 source/ubl-strings.h:4
msgid "Logs and events"
msgstr "Логи и журналы событий"
#: source/ubl-strings.h:2
msgid "Usage:"
@ -54,7 +54,6 @@ msgid "Lock this help menu"
msgstr "Блокировка вызова справки"
#: source/ubl-strings.h:2
#, fuzzy
msgid "Lock configuration saving"
msgstr "Блокировка сохранения локальной и глобальной конфигурации"
@ -70,13 +69,9 @@ msgstr "Блокировка сохранения глобальной конф
msgid "Lock global configration loading"
msgstr "Блокировка загрузки глобальной конфигурации"
#: source/ubl-strings.h:4
msgid "Logs and events"
msgstr "Настройки logging"
#: source/ubl-strings.h:5
msgid "Logs and events configuration"
msgstr "Настройки logging"
msgstr "Настройка и просмотр логов и журналов событий системы"
#: source/ubl-strings.h:7
msgid "Operation succeeded"
@ -86,7 +81,9 @@ msgstr "Операция завершена"
msgid ""
"Warning! Application was launched without root - root-dependent actions are "
"locked"
msgstr "Внимание! Приложение было запущено без прав суперпользователя - действия, требующие их наличия заблокированы"
msgstr ""
"Внимание! Приложение было запущено без прав суперпользователя - действия, "
"требующие их наличия заблокированы"
#: source/ubl-strings.h:10
msgid "About"
@ -96,43 +93,43 @@ msgstr "О программе"
msgid "Documentation"
msgstr "Справка"
#: source/ubl-strings.h:12
#: source/ubl-strings.h:13
msgid "Save to local configuration"
msgstr "Сохранить в локальную конфигурацию"
#: source/ubl-strings.h:13
#: source/ubl-strings.h:14
msgid "Save to global configuration"
msgstr "Сохранить в глобальную конфигурацию"
#: source/ubl-strings.h:14
msgid "Save configuration"
msgstr "Сохранить конфигурацию"
#: source/ubl-strings.h:15
msgid "Save to global and local configuration"
msgstr "Сохранить в глобальную и локальную конфигурацию"
#: source/ubl-strings.h:16
msgid "Save"
msgstr "Сохранить"
#: source/ubl-strings.h:16
#: source/ubl-strings.h:18
msgid "Load local configuration"
msgstr "Загрузить локальную конфигуруцию"
msgstr "Загрузить локальную конфигурацию"
#: source/ubl-strings.h:17
#: source/ubl-strings.h:19
msgid "Load global configuration"
msgstr "Загрузить глобальную конфигурацию"
#: source/ubl-strings.h:18
#: source/ubl-strings.h:20
msgid "Load"
msgstr "Загрузить"
#: source/ubl-strings.h:20
#: source/ubl-strings.h:22
msgid "Cancel"
msgstr "Отмена"
#: source/ubl-strings.h:22
#: source/ubl-strings.h:24
msgid "Would you like to read documentation in the Web?"
msgstr "Вы хотите прочитать справку в Сети?"
#: source/ubl-strings.h:23
#: source/ubl-strings.h:25
msgid ""
"You will be redirected to documentation website where documentation is\n"
"translated and supported by community."
@ -140,38 +137,560 @@ msgstr ""
"Вы будете перенаправлены на сайт с документацией, где страницы помощи\n"
"переводятся и поддерживаются сообществом."
#: source/ubl-strings.h:24
#: source/ubl-strings.h:26
msgid "Always redirect to online documentation"
msgstr "Всегда перенаправлять"
#: source/ubl-strings.h:25
#: source/ubl-strings.h:27
msgid "Open documentation"
msgstr "Прочитать справку"
#: source/ubl-strings.h:26
#: source/ubl-strings.h:28
msgid "Project Home Page"
msgstr "Домашняя страница проекта"
#: source/ubl-strings.h:27
#: source/ubl-strings.h:29
msgid "Nothing were chosen"
msgstr "Ничего не было выбрано"
#: source/ubl-strings.h:30
#: source/ubl-strings.h:32
msgid "Global configuration loading succseeded."
msgstr "Успешно загружена глобальная конфигурация"
#: source/ubl-strings.h:31
#: source/ubl-strings.h:33
msgid "Local configuration loading succseeded."
msgstr "Успешно загружена локальная конфигурация"
#: source/ubl-strings.h:33
#: source/ubl-strings.h:34
msgid "Config loading failed"
msgstr "Ошибка загрузки конфигурации"
#: source/ubl-strings.h:36
msgid "Local and global configuration saving succseeded."
msgstr "Успешно записаны локальная и глобальная конфигурация"
#: source/ubl-strings.h:34
#: source/ubl-strings.h:37
msgid "Global configuration saving succseeded."
msgstr "Успешно записана глобальная конфигурация"
#: source/ubl-strings.h:35
#: source/ubl-strings.h:38
msgid "Local configuration saving succseeded."
msgstr "Успешно записана локальная конфигурация"
#: source/ubl-strings.h:39
msgid "Accept"
msgstr "Принять"
#: source/ubl-strings.h:41
msgid "Journals"
msgstr "Журналы"
#: source/ubl-strings.h:42
msgid "Services"
msgstr "Сервисы"
#: source/ubl-strings.h:43
msgid "Log/Journal"
msgstr "Лог/Журнал"
#: source/ubl-strings.h:44
msgid "Path"
msgstr "Путь"
#: source/ubl-strings.h:45
msgid "Description"
msgstr "Описание"
#: source/ubl-strings.h:46
msgid "Inspect log"
msgstr "Просмотреть лог"
#: source/ubl-strings.h:47
msgid "Configure log"
msgstr "Настроить лог"
#: source/ubl-strings.h:48
msgid "Add log"
msgstr "Добавить лог"
#: source/ubl-strings.h:49
msgid "Remove log"
msgstr "Удалить лог"
#: source/ubl-strings.h:50
msgid "Stop service"
msgstr "Остановить сервис"
#: source/ubl-strings.h:51
msgid "Start service"
msgstr "Запустить сервис"
#: source/ubl-strings.h:52
msgid "Configure service"
msgstr "Настроить сервис"
#: source/ubl-strings.h:53
msgid "Status"
msgstr "Статус"
#: source/ubl-strings.h:54
msgid "Service"
msgstr "Сервис"
#: source/ubl-strings.h:55
msgid "Autostart"
msgstr "Автозапуск"
#: source/ubl-strings.h:58
msgid "Show messages since the current system boot"
msgstr "Показать сообщения с момента загрузки системы"
#: source/ubl-strings.h:59
msgid "Follow for new messages"
msgstr "Следить за появлением новых сообщений"
#: source/ubl-strings.h:60
msgid "Show kernel ring buffer"
msgstr "Показать кольцевой буфер ядра"
#: source/ubl-strings.h:61
msgid "Show only priority error messages, critical messages and warnings"
msgstr ""
"Показать только приоритетные сообщения об ошибках, критических сообщениях и "
"предупреждениях"
#: source/ubl-strings.h:65
msgid "Update"
msgstr "Обновить"
#: source/ubl-strings.h:68
msgid "Description:"
msgstr "Описание:"
#: source/ubl-strings.h:69
msgid "Journal storage place:"
msgstr "Место хранения журнала:"
#: source/ubl-strings.h:70 source/ubl-strings.h:71
msgid "Use compression:"
msgstr "Использовать сжатие:"
#: source/ubl-strings.h:72
msgid "Split journal files:"
msgstr "Разделять файлы журнала:"
#: source/ubl-strings.h:73
msgid "Log recording journal interval:"
msgstr "Интервал записи журнала:"
#: source/ubl-strings.h:74
msgid "Records amount:"
msgstr "Количество записей:"
#: source/ubl-strings.h:75
msgid "Maximum size of all logs:"
msgstr "Максимальный размер всех журналов:"
#: source/ubl-strings.h:76
msgid "Maximum size of rotation journal:"
msgstr "Максимальный размер журнала для ротации:"
#: source/ubl-strings.h:77
msgid "Leave free space at storage:"
msgstr "Оставлять в хранилище свободным:"
#: source/ubl-strings.h:78
msgid "Redirect to console:"
msgstr "Перенаправление в консоль:"
#: source/ubl-strings.h:79
msgid "TTY:"
msgstr "TTY:"
#: source/ubl-strings.h:80
msgid "Type of forwarded messages:"
msgstr "Тип перенаправляемых сообщений:"
#: source/ubl-strings.h:81
msgid "Journal configuration"
msgstr "Настройка файла журнала"
#: source/ubl-strings.h:82
msgid "Total log size:"
msgstr "Общий размер журналов:"
#: source/ubl-strings.h:83
msgid "Lower size to:"
msgstr "Уменьшить размер до:"
#: source/ubl-strings.h:84
msgid "Apply"
msgstr "Применить"
#: source/ubl-strings.h:85
msgid "Statistics"
msgstr "Статистика"
#: source/ubl-strings.h:86
msgid "Default"
msgstr "По умолчанию"
#: source/ubl-strings.h:87
msgid "RAM"
msgstr "Оперативная память"
#: source/ubl-strings.h:88
msgid "Drive"
msgstr "Диск"
#: source/ubl-strings.h:89
#, fuzzy
msgid "Auto"
msgstr "Автоматически"
#: source/ubl-strings.h:90
msgid "None"
msgstr "Нет"
#: source/ubl-strings.h:91
msgid "Yes"
msgstr "Да"
#: source/ubl-strings.h:92
msgid "No"
msgstr "Нет"
#: source/ubl-strings.h:93
msgid "After"
msgstr "После"
#: source/ubl-strings.h:94
msgid "Kb"
msgstr "Кб"
#: source/ubl-strings.h:95
msgid "Mb"
msgstr "Мб"
#: source/ubl-strings.h:96
msgid "Gb"
msgstr "Гб"
#: source/ubl-strings.h:97
msgid "Minutes"
msgstr "Минута"
#: source/ubl-strings.h:98
msgid "Hours"
msgstr "Час"
#: source/ubl-strings.h:99
msgid "Days"
msgstr "День"
#: source/ubl-strings.h:100
#, fuzzy
msgid "Weeks"
msgstr "Неделя"
#: source/ubl-strings.h:101
msgid "Years"
msgstr "Год"
#: source/ubl-strings.h:104
msgid "Log/Journal:"
msgstr "Лог/Журнал:"
#: source/ubl-strings.h:105
msgid "Paths to log and journals files"
msgstr "Пути к файлам лога/журнала"
#: source/ubl-strings.h:106
msgid "On"
msgstr "Включено"
#: source/ubl-strings.h:107
msgid "Off"
msgstr "Выключено"
#: source/ubl-strings.h:108 source/ubl-strings.h:162
msgid "Scenarios"
msgstr "Сценарии"
#: source/ubl-strings.h:109 source/ubl-strings.h:161
msgid "Scenarios are running for each rotated journal"
msgstr "Сценарии запускаются для каждого ротируемого журнала"
#: source/ubl-strings.h:110
msgid "Command before rotation (one time):"
msgstr "Команда перед ротацией (один раз):"
#: source/ubl-strings.h:111
msgid "Command after rotation (one time):"
msgstr "Команда после ротации (один раз):"
#: source/ubl-strings.h:112
msgid "Command before rotation:"
msgstr "Команда перед ротацией:"
#: source/ubl-strings.h:113
msgid "Command after rotation:"
msgstr "Команда после ротации:"
#: source/ubl-strings.h:114
msgid "Rotation period:"
msgstr "Период ротации:"
#: source/ubl-strings.h:115
msgid "Maximum size of file:"
msgstr "Максимальный размер файла:"
#: source/ubl-strings.h:116
msgid "Checking frequency configuration"
msgstr "Настройки частоты проверки"
#: source/ubl-strings.h:117
msgid "File amount:"
msgstr "Количество файлов:"
#: source/ubl-strings.h:118
msgid "Store at:"
msgstr "Хранить в:"
#: source/ubl-strings.h:119
msgid "Rotation as user:"
msgstr "Ротация от пользователя:"
#: source/ubl-strings.h:120
msgid "Rotation as group:"
msgstr "Ротация от группы:"
#: source/ubl-strings.h:121
msgid "Rotation configuration"
msgstr "Настройки ротации"
#: source/ubl-strings.h:122
msgid "Error processing:"
msgstr "Обработка ошибок:"
#: source/ubl-strings.h:123
msgid "Rotation of jurnal even when it is empty:"
msgstr "Ротация файла журнала даже если он пуст:"
#: source/ubl-strings.h:124
msgid "Do not rotate journal younger than"
msgstr "Не ротировать журналы, возраст которых меньше"
#: source/ubl-strings.h:125
msgid "days"
msgstr "дней"
#: source/ubl-strings.h:126
msgid "Delete rotated journals older than"
msgstr "Удалить ротированные журналы старше"
#: source/ubl-strings.h:127
msgid "Rotate journals if size more than"
msgstr "Ротация журналов, если размер превышает"
#: source/ubl-strings.h:128
msgid "but not earlier than the specified time interval"
msgstr "но не раньше указанного интервала времени"
#: source/ubl-strings.h:129
msgid "before specified time interval"
msgstr "до истечения указанного интервала времени"
#: source/ubl-strings.h:130
msgid "File choosing configuration"
msgstr "Настройки выбора файла"
#: source/ubl-strings.h:131
msgid "Create log"
msgstr "Создавать лог"
#: source/ubl-strings.h:132
msgid "as user:"
msgstr "от пользователя:"
#: source/ubl-strings.h:133
msgid "as group:"
msgstr "от группы:"
#: source/ubl-strings.h:134
msgid "rules:"
msgstr "права:"
#: source/ubl-strings.h:135
msgid ""
"Cut source journal fileafter copy creating instead of moving old journal "
"file and creating new one"
msgstr ""
"После создания копии, обрезать исходный файл журнала взамен перемещения "
"старого файла журнала и создания нового"
#: source/ubl-strings.h:136
msgid "Files and directories configuration"
msgstr "Настройки файлов и папок"
#: source/ubl-strings.h:137
msgid "Delay compression by one journal in queue:"
msgstr "Отложить сжание на один журнал в очереди:"
#: source/ubl-strings.h:138
msgid "Compression configuration"
msgstr "Настройка сжатия"
#: source/ubl-strings.h:139
msgid "Save original log file after rotation if it has specified extension:"
msgstr ""
"Сохранять оригинальный лог после ротации, если у него указано расширение:"
#: source/ubl-strings.h:140
msgid "Add date of rotation before log header"
msgstr "Добавлять дату ротации перед заголовком старого лога:"
#: source/ubl-strings.h:141
msgid "Number from which numbering of old logs will begin"
msgstr "Номер, с которого будет начата нумерация старых логов:"
#: source/ubl-strings.h:142
msgid "Filename configuration"
msgstr "Настройка имени файлов"
#: source/ubl-strings.h:143
msgid "Email after rotation:"
msgstr "Отправка Email после ротации:"
#: source/ubl-strings.h:144
msgid "adress:"
msgstr "на адрес:"
#: source/ubl-strings.h:145
msgid "contents:"
msgstr "содержимое:"
#: source/ubl-strings.h:146 source/ubl-strings.h:159
msgid "Message configuration"
msgstr "Настройка сообщения"
#: source/ubl-strings.h:147
msgid "Manual input:"
msgstr "Команды настройки"
#: source/ubl-strings.h:148
msgid "Log (-s) size:"
msgstr "Общий размер лога (-ов):"
#: source/ubl-strings.h:149
msgid "Same directory"
msgstr "Той же папке"
#: source/ubl-strings.h:150
msgid "Separate directory"
msgstr "Другой папке"
#: source/ubl-strings.h:151
msgid "Output errors if log file does not exist*"
msgstr "Выводить ошибки, если лог файла не существует*"
#: source/ubl-strings.h:152
msgid "Do not output errors if log file does not exist"
msgstr "Не выводить ошибки, если лог файла не существует"
#: source/ubl-strings.h:153
msgid "Do not output"
msgstr "Не выводить"
#: source/ubl-strings.h:154
msgid "Output errors"
msgstr "Выводить ошибки"
#: source/ubl-strings.h:155
msgid "Send Email"
msgstr "Отправлять Email"
#: source/ubl-strings.h:156
msgid "Don't send Email"
msgstr "Не отправлять Email"
#: source/ubl-strings.h:157
msgid "First rotated copy"
msgstr "Первая ротированная копия"
#: source/ubl-strings.h:158
msgid "Last rotated copy"
msgstr "Последняя ротированная копия"
#: source/ubl-strings.h:160
msgid "Endwork command:"
msgstr "Команда перед удалением файла журнала:"
#: source/ubl-strings.h:163
#, fuzzy
msgid "Hourly"
msgstr "Час"
#: source/ubl-strings.h:164
msgid "Daily"
msgstr "День"
#: source/ubl-strings.h:165
msgid "Weekly*"
msgstr "Неделя*"
#: source/ubl-strings.h:166
msgid "Monthly"
msgstr "Месяц"
#: source/ubl-strings.h:167
msgid "Yearly"
msgstr "Год"
#: source/ubl-strings.h:168
msgid "Monday"
msgstr "Понедельник"
#: source/ubl-strings.h:169
msgid "Tuesday"
msgstr "Вторник"
#: source/ubl-strings.h:170
msgid "Wednesday"
msgstr "Среда"
#: source/ubl-strings.h:171
msgid "Thursday"
msgstr "Четверг"
#: source/ubl-strings.h:172
msgid "Friday"
msgstr "Пятница"
#: source/ubl-strings.h:173
msgid "Saturday"
msgstr "Суббота"
#: source/ubl-strings.h:174
msgid "Sunday*"
msgstr "Воскресенье*"
#: source/ubl-strings.h:177
msgid "System configuration"
msgstr "Настройки системы"
#: source/ubl-strings.h:178
msgid "Applications configuration"
msgstr "Настройки приложений"
#: source/ubl-strings.h:181
msgid "Path (-s):"
msgstr "Путь (-и):"
#: source/ubl-strings.h:182
msgid "Control:"
msgstr "Управление:"
#: source/ubl-strings.h:183
msgid "Log file"
msgstr "Файл лога"

Loading…
Cancel
Save