Added check for path repetition inside same log; Added 'Reset' button for journald menu

pull/62/head
parent 6dc10bafc8
commit 35b44744ab

@ -139,6 +139,7 @@ install: check uninstall
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.trash-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.sort-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.sync-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.funnel-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.generic1-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.generic2-symbolic.svg"
@ -150,6 +151,7 @@ install: check uninstall
@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"
@install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "com.ublinux.${PKGNAME}.auth.policy"
@if [ -z ${DESTDIR} ]; then \
[ -d "${DESTDIR}/usr/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}/usr/share/icons/hicolor/" &>/dev/null || true; \
update-desktop-database --quiet &>/dev/null || true; \

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg1359"
width="256"
height="256"
viewBox="0 0 256 256"
sodipodi:docname="funnel.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1363" />
<sodipodi:namedview
id="namedview1361"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="1.5333252"
inkscape:cx="133.37027"
inkscape:cy="231.84906"
inkscape:window-width="1920"
inkscape:window-height="1027"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1365" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g1365">
<path
style="fill:#313131;stroke-width:0.499256;fill-opacity:1"
d="m 104.65705,237.70905 c -0.62183,-0.24981 -1.35199,-1.03652 -1.62259,-1.74825 -0.31065,-0.81708 -0.49199,-18.8221 -0.49199,-48.8496 V 139.55564 L 63.364841,95.35613 24.187217,51.156622 18.806245,50.863604 C 12.784621,50.535703 10.172614,49.782271 6.8934643,47.427365 -3.1207996,40.235664 -1.3333195,24.490308 10.106237,19.127045 l 2.819779,-1.322011 H 128.00452 243.08303 l 2.81978,1.322011 c 3.59114,1.683651 6.65629,4.748951 8.33921,8.33961 1.8728,3.995783 1.8839,9.615451 0.0268,13.553783 -3.22543,6.840051 -9.19011,9.973686 -19.00052,9.982229 l -3.32143,0.0029 -39.24013,44.276883 -39.24012,44.27689 -0.011,35.72889 c -0.0103,33.46974 -0.0684,35.85515 -0.9194,37.72591 -0.49963,1.09836 -1.22486,2.25007 -1.61161,2.55936 -1.04329,0.83431 -44.14983,22.65836 -44.68151,22.62142 -0.25051,-0.0174 -0.96424,-0.23604 -1.58606,-0.48586 z"
id="path1444" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -690,6 +690,15 @@ void on_logrotate_save(GtkWidget *self, dictionary *dict){
return;
}
}
if (paths){
int psize=0;
config_str paths_parsed = yon_char_parse(paths,&psize,",");
if (yon_char_parsed_check_repeats(paths_parsed,psize)){
yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(window->LogPathsTree));
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),REPEAT_PATHS_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
return;
}
}
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->RotationPeriodCheck))){
int active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->RotationPeriodMainCombo));
switch (active){
@ -1370,6 +1379,36 @@ void yon_combo_compress_check(GtkComboBox *self, journald_window *window){
}
}
void on_journald_reset(GtkWidget *self, journald_window *window){
gtk_combo_box_set_active(GTK_COMBO_BOX(window->LogStorageCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->LogCompressionCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->RedirectCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->LowerSizeCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->LowerTimeCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->LogStorageCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->LogFreeSpaceCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->ForwardedTypeCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->RotationSizeMaxCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->LogCompressionSizeCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->DivideJournalFilesCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->LogSizeMaxCombo),0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->LogSizeMaxCheck),0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->LogIntervalCheck),0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->LogFreeSpaceCheck),0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->RotationSizeMaxCheck),0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->LogIntervalAmountCheck),0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->LogSizeMaxSpin),0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->LogIntervalSpin),0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->LogFreeSpaceSpin),0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->RotationSizeMaxSpin),0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->LogIntervalAmountSpin),0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->LogCompressionEntry),0);
gtk_entry_set_text(GTK_ENTRY(window->RedirectTTYEntry),"");
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->LowerSizeEntry),0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->LowerTimeEntry),0);
}
void on_journald_save(GtkWidget *self, journald_window *window){
char *storage;
int storage_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->LogStorageCombo));
@ -1503,6 +1542,7 @@ journald_window *yon_journald_open(GtkWidget *self, main_window *widgets){
window->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow");
window->CancelButton=yon_gtk_builder_get_widget(builder,"CancelButton");
window->SaveButton=yon_gtk_builder_get_widget(builder,"SaveButton");
window->ResetButton=yon_gtk_builder_get_widget(builder,"ResetButton");
window->LogNameLabel=yon_gtk_builder_get_widget(builder,"LogNameEntry");
window->LogDescriptionLabel=yon_gtk_builder_get_widget(builder,"LogDescriptionEntry");
window->LogStorageCombo=yon_gtk_builder_get_widget(builder,"LogStorageCombo");
@ -1548,6 +1588,7 @@ journald_window *yon_journald_open(GtkWidget *self, main_window *widgets){
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),"JournaldWindow");
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_journald_save),window);
g_signal_connect(G_OBJECT(window->ResetButton),"clicked",G_CALLBACK(on_journald_reset),window);
g_signal_connect(G_OBJECT(window->LogIntervalCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),window->LogIntervalSpin);
g_signal_connect(G_OBJECT(window->LogIntervalCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),window->LogIntervalAmountCheck);
@ -1682,6 +1723,11 @@ void on_log_save(GtkWidget *self, dictionary *dict){
}
int paths_size=0;
config_str paths_parsed = yon_char_parse(paths,&paths_size,"\n");
if (yon_char_parsed_check_repeats(paths_parsed,paths_size)){
yon_ubl_status_highlight_incorrect(window->LogPathsBox);
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),REPEAT_PATHS_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
return;
}
int pathse_size=0;
config_str pathse_parsed = yon_char_parse(pathse,&pathse_size,"\n");
@ -2200,7 +2246,9 @@ main_window *setup_window(){
config_str log = yon_char_parse(journals[i],&log_size,";");
log[1] = yon_char_replace(log[1],",","\n");
gtk_list_store_append(widgets->list,&iter);
free(yon_char_parse(log[1],&psize,"\n"));
config_str sfafa = yon_char_parse(log[1],&psize,"\n");
if (sfafa)
free(sfafa);
gtk_list_store_set(widgets->list,&iter,0,log[0],1,log[1],2,_(log[2]),3,1,4,psize,-1);
}
config_str services = yon_file_open(services_list_path,&service_size);

@ -246,6 +246,7 @@ typedef struct {
GtkWidget *MainWindow;
GtkWidget *CancelButton;
GtkWidget *SaveButton;
GtkWidget *ResetButton;
GtkWidget *LogNameLabel;
GtkWidget *LogDescriptionLabel;
GtkWidget *LogStorageCombo;

@ -101,6 +101,7 @@
#define DAYS_LABEL _("Days")
#define WEEKS_LABEL _("Weeks")
#define YEARS_LABEL _("Years")
#define RESET_LABEL _("Reset")
//ubl-settings-logging-logrotate.glade
#define LOGROTATE_LOG_JOURNAL_TAB_LABEL _("Log/Journal:")
@ -176,6 +177,7 @@
#define SUNDAY_LABEL _("Sunday*")
#define REPEATED_PATHS_LABEL _("Same record already exists")
#define EMPTY_IMPORTANT_LABEL _("Empty important field")
#define REPEAT_PATHS_LABEL _("Repeating paths")
//ubl-settings-logging-logrotate-table.glade
#define SYSTEM_CONFIGURATION_LABEL _("System configuration")

@ -33,7 +33,6 @@
<child>
<object class="GtkCheckButton" id="FileOrDirCheck">
<property name="label" translatable="yes">Choose directory instead of file</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>

@ -964,6 +964,20 @@
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="spacing">5</property>
<child>
<object class="GtkButton" id="ResetButton">
<property name="label" translatable="yes">Reset</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image5</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="CancelButton">
<property name="label" translatable="yes">Cancel</property>
@ -975,7 +989,7 @@
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="position">1</property>
</packing>
</child>
<child>
@ -989,7 +1003,7 @@
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
</object>
@ -1048,4 +1062,9 @@
<widget name="label2"/>
</widgets>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.funnel-symbolic</property>
</object>
</interface>

@ -318,6 +318,9 @@
<property name="can-focus">True</property>
<property name="model">liststore1</property>
<property name="headers-visible">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Path</property>

@ -413,337 +413,345 @@ msgstr ""
msgid "Years"
msgstr ""
#: source/ubl-strings.h:106
msgid "Log/Journal:"
#: source/ubl-strings.h:104
msgid "Reset"
msgstr ""
#: source/ubl-strings.h:107
msgid "Paths to log and journals files"
msgid "Log/Journal:"
msgstr ""
#: source/ubl-strings.h:108
msgid "On"
msgid "Paths to log and journals files"
msgstr ""
#: source/ubl-strings.h:109
msgid "On"
msgstr ""
#: source/ubl-strings.h:110
msgid "Off"
msgstr ""
#: source/ubl-strings.h:110 source/ubl-strings.h:164
#: source/ubl-strings.h:111 source/ubl-strings.h:165
msgid "Scenarios"
msgstr ""
#: source/ubl-strings.h:111 source/ubl-strings.h:163
#: source/ubl-strings.h:112 source/ubl-strings.h:164
msgid "Scenarios are running for each rotated journal"
msgstr ""
#: source/ubl-strings.h:112
#: source/ubl-strings.h:113
msgid "Command before rotation (one time):"
msgstr ""
#: source/ubl-strings.h:113
#: source/ubl-strings.h:114
msgid "Command after rotation (one time):"
msgstr ""
#: source/ubl-strings.h:114
#: source/ubl-strings.h:115
msgid "Command before rotation:"
msgstr ""
#: source/ubl-strings.h:115
#: source/ubl-strings.h:116
msgid "Command after rotation:"
msgstr ""
#: source/ubl-strings.h:116
#: source/ubl-strings.h:117
msgid "Rotation period:"
msgstr ""
#: source/ubl-strings.h:117
#: source/ubl-strings.h:118
msgid "Maximum size of file:"
msgstr ""
#: source/ubl-strings.h:118
#: source/ubl-strings.h:119
msgid "Checking frequency configuration"
msgstr ""
#: source/ubl-strings.h:119
#: source/ubl-strings.h:120
msgid "File amount:"
msgstr ""
#: source/ubl-strings.h:120
#: source/ubl-strings.h:121
msgid "Store at:"
msgstr ""
#: source/ubl-strings.h:121
#: source/ubl-strings.h:122
msgid "Rotation as user:"
msgstr ""
#: source/ubl-strings.h:122
#: source/ubl-strings.h:123
msgid "Rotation as group:"
msgstr ""
#: source/ubl-strings.h:123
#: source/ubl-strings.h:124
msgid "Rotation configuration"
msgstr ""
#: source/ubl-strings.h:124
#: source/ubl-strings.h:125
msgid "Error processing:"
msgstr ""
#: source/ubl-strings.h:125
#: source/ubl-strings.h:126
msgid "Rotation of jurnal even when it is empty:"
msgstr ""
#: source/ubl-strings.h:126
#: source/ubl-strings.h:127
msgid "Do not rotate journal younger than"
msgstr ""
#: source/ubl-strings.h:127
#: source/ubl-strings.h:128
msgid "days"
msgstr ""
#: source/ubl-strings.h:128
#: source/ubl-strings.h:129
msgid "Delete rotated journals older than"
msgstr ""
#: source/ubl-strings.h:129
#: source/ubl-strings.h:130
msgid "Rotate journals if size more than"
msgstr ""
#: source/ubl-strings.h:130
#: source/ubl-strings.h:131
msgid "but not earlier than the specified time interval"
msgstr ""
#: source/ubl-strings.h:131
#: source/ubl-strings.h:132
msgid "before specified time interval"
msgstr ""
#: source/ubl-strings.h:132
#: source/ubl-strings.h:133
msgid "File choosing configuration"
msgstr ""
#: source/ubl-strings.h:133
#: source/ubl-strings.h:134
msgid "Create log"
msgstr ""
#: source/ubl-strings.h:134
#: source/ubl-strings.h:135
msgid "as user:"
msgstr ""
#: source/ubl-strings.h:135
#: source/ubl-strings.h:136
msgid "as group:"
msgstr ""
#: source/ubl-strings.h:136
#: source/ubl-strings.h:137
msgid "rules:"
msgstr ""
#: source/ubl-strings.h:137
#: source/ubl-strings.h:138
msgid ""
"Cut source journal fileafter copy creating instead of moving old journal "
"file and creating new one"
msgstr ""
#: source/ubl-strings.h:138
#: source/ubl-strings.h:139
msgid "Files and directories configuration"
msgstr ""
#: source/ubl-strings.h:139
#: source/ubl-strings.h:140
msgid "Delay compression by one journal in queue:"
msgstr ""
#: source/ubl-strings.h:140
#: source/ubl-strings.h:141
msgid "Compression configuration"
msgstr ""
#: source/ubl-strings.h:141
#: source/ubl-strings.h:142
msgid "Save original log file after rotation if it has specified extension:"
msgstr ""
#: source/ubl-strings.h:142
#: source/ubl-strings.h:143
msgid "Add date of rotation before log header"
msgstr ""
#: source/ubl-strings.h:143
#: source/ubl-strings.h:144
msgid "Number from which numbering of old logs will begin"
msgstr ""
#: source/ubl-strings.h:144
#: source/ubl-strings.h:145
msgid "Filename configuration"
msgstr ""
#: source/ubl-strings.h:145
#: source/ubl-strings.h:146
msgid "Email after rotation:"
msgstr ""
#: source/ubl-strings.h:146
#: source/ubl-strings.h:147
msgid "adress:"
msgstr ""
#: source/ubl-strings.h:147
#: source/ubl-strings.h:148
msgid "contents:"
msgstr ""
#: source/ubl-strings.h:148 source/ubl-strings.h:161
#: source/ubl-strings.h:149 source/ubl-strings.h:162
msgid "Message configuration"
msgstr ""
#: source/ubl-strings.h:149
#: source/ubl-strings.h:150
msgid "Manual input:"
msgstr ""
#: source/ubl-strings.h:150
#: source/ubl-strings.h:151
msgid "Log (-s) size:"
msgstr ""
#: source/ubl-strings.h:151
#: source/ubl-strings.h:152
msgid "Same directory"
msgstr ""
#: source/ubl-strings.h:152
#: source/ubl-strings.h:153
msgid "Separate directory"
msgstr ""
#: source/ubl-strings.h:153
#: source/ubl-strings.h:154
msgid "Output errors if log file does not exist*"
msgstr ""
#: source/ubl-strings.h:154
#: source/ubl-strings.h:155
msgid "Do not output errors if log file does not exist"
msgstr ""
#: source/ubl-strings.h:155
#: source/ubl-strings.h:156
msgid "Do not output"
msgstr ""
#: source/ubl-strings.h:156
#: source/ubl-strings.h:157
msgid "Output errors"
msgstr ""
#: source/ubl-strings.h:157
#: source/ubl-strings.h:158
msgid "Send Email"
msgstr ""
#: source/ubl-strings.h:158
#: source/ubl-strings.h:159
msgid "Don't send Email"
msgstr ""
#: source/ubl-strings.h:159
#: source/ubl-strings.h:160
msgid "First rotated copy"
msgstr ""
#: source/ubl-strings.h:160
#: source/ubl-strings.h:161
msgid "Last rotated copy"
msgstr ""
#: source/ubl-strings.h:162
#: source/ubl-strings.h:163
msgid "Endwork command:"
msgstr ""
#: source/ubl-strings.h:165
#: source/ubl-strings.h:166
msgid "Hourly"
msgstr ""
#: source/ubl-strings.h:166
#: source/ubl-strings.h:167
msgid "Daily"
msgstr ""
#: source/ubl-strings.h:167
#: source/ubl-strings.h:168
msgid "Weekly*"
msgstr ""
#: source/ubl-strings.h:168
#: source/ubl-strings.h:169
msgid "Monthly"
msgstr ""
#: source/ubl-strings.h:169
#: source/ubl-strings.h:170
msgid "Yearly"
msgstr ""
#: source/ubl-strings.h:170
#: source/ubl-strings.h:171
msgid "Monday"
msgstr ""
#: source/ubl-strings.h:171
#: source/ubl-strings.h:172
msgid "Tuesday"
msgstr ""
#: source/ubl-strings.h:172
#: source/ubl-strings.h:173
msgid "Wednesday"
msgstr ""
#: source/ubl-strings.h:173
#: source/ubl-strings.h:174
msgid "Thursday"
msgstr ""
#: source/ubl-strings.h:174
#: source/ubl-strings.h:175
msgid "Friday"
msgstr ""
#: source/ubl-strings.h:175
#: source/ubl-strings.h:176
msgid "Saturday"
msgstr ""
#: source/ubl-strings.h:176
#: source/ubl-strings.h:177
msgid "Sunday*"
msgstr ""
#: source/ubl-strings.h:177
#: source/ubl-strings.h:178
msgid "Same record already exists"
msgstr ""
#: source/ubl-strings.h:178
#: source/ubl-strings.h:179
msgid "Empty important field"
msgstr ""
#: source/ubl-strings.h:181
#: source/ubl-strings.h:180
msgid "Repeating paths"
msgstr ""
#: source/ubl-strings.h:183
msgid "System configuration"
msgstr ""
#: source/ubl-strings.h:182
#: source/ubl-strings.h:184
msgid "Applications configuration"
msgstr ""
#: source/ubl-strings.h:185
#: source/ubl-strings.h:187
msgid "Path (-s):"
msgstr ""
#: source/ubl-strings.h:186
#: source/ubl-strings.h:188
msgid "Control:"
msgstr ""
#: source/ubl-strings.h:187
#: source/ubl-strings.h:189
msgid "Log file"
msgstr ""
#: source/ubl-strings.h:188
#: source/ubl-strings.h:190
msgid "Name:"
msgstr ""
#: source/ubl-strings.h:191
#: source/ubl-strings.h:193
msgid "Owner rules"
msgstr ""
#: source/ubl-strings.h:192
#: source/ubl-strings.h:194
msgid "Group rules"
msgstr ""
#: source/ubl-strings.h:193
#: source/ubl-strings.h:195
msgid "Public rules"
msgstr ""
#: source/ubl-strings.h:194
#: source/ubl-strings.h:196
msgid "Read"
msgstr ""
#: source/ubl-strings.h:195
#: source/ubl-strings.h:197
msgid "Write"
msgstr ""
#: source/ubl-strings.h:196
#: source/ubl-strings.h:198
msgid "Execute"
msgstr ""
#: source/ubl-strings.h:197
#: source/ubl-strings.h:199
msgid "Value:"
msgstr ""

@ -423,131 +423,135 @@ msgstr "Недель"
msgid "Years"
msgstr "Лет"
#: source/ubl-strings.h:106
#: source/ubl-strings.h:104
msgid "Reset"
msgstr "По умлочанию"
#: source/ubl-strings.h:107
msgid "Log/Journal:"
msgstr "Лог/Журнал:"
#: source/ubl-strings.h:107
#: source/ubl-strings.h:108
msgid "Paths to log and journals files"
msgstr "Пути к файлам лога/журнала"
#: source/ubl-strings.h:108
#: source/ubl-strings.h:109
msgid "On"
msgstr "Включено"
#: source/ubl-strings.h:109
#: source/ubl-strings.h:110
msgid "Off"
msgstr "Выключено"
#: source/ubl-strings.h:110 source/ubl-strings.h:164
#: source/ubl-strings.h:111 source/ubl-strings.h:165
msgid "Scenarios"
msgstr "Сценарии"
#: source/ubl-strings.h:111 source/ubl-strings.h:163
#: source/ubl-strings.h:112 source/ubl-strings.h:164
msgid "Scenarios are running for each rotated journal"
msgstr "Сценарии запускаются для каждого ротируемого журнала"
#: source/ubl-strings.h:112
#: source/ubl-strings.h:113
msgid "Command before rotation (one time):"
msgstr "Команда перед ротацией (один раз):"
#: source/ubl-strings.h:113
#: source/ubl-strings.h:114
msgid "Command after rotation (one time):"
msgstr "Команда после ротации (один раз):"
#: source/ubl-strings.h:114
#: source/ubl-strings.h:115
msgid "Command before rotation:"
msgstr "Команда перед ротацией:"
#: source/ubl-strings.h:115
#: source/ubl-strings.h:116
msgid "Command after rotation:"
msgstr "Команда после ротации:"
#: source/ubl-strings.h:116
#: source/ubl-strings.h:117
msgid "Rotation period:"
msgstr "Период ротации:"
#: source/ubl-strings.h:117
#: source/ubl-strings.h:118
msgid "Maximum size of file:"
msgstr "Максимальный размер файла:"
#: source/ubl-strings.h:118
#: source/ubl-strings.h:119
msgid "Checking frequency configuration"
msgstr "Настройки частоты проверки"
#: source/ubl-strings.h:119
#: source/ubl-strings.h:120
msgid "File amount:"
msgstr "Количество файлов:"
#: source/ubl-strings.h:120
#: source/ubl-strings.h:121
msgid "Store at:"
msgstr "Хранить в:"
#: source/ubl-strings.h:121
#: source/ubl-strings.h:122
msgid "Rotation as user:"
msgstr "Ротация от пользователя:"
#: source/ubl-strings.h:122
#: source/ubl-strings.h:123
msgid "Rotation as group:"
msgstr "Ротация от группы:"
#: source/ubl-strings.h:123
#: source/ubl-strings.h:124
msgid "Rotation configuration"
msgstr "Настройки ротации"
#: source/ubl-strings.h:124
#: source/ubl-strings.h:125
msgid "Error processing:"
msgstr "Обработка ошибок:"
#: source/ubl-strings.h:125
#: source/ubl-strings.h:126
msgid "Rotation of jurnal even when it is empty:"
msgstr "Ротация файла журнала даже если он пуст:"
#: source/ubl-strings.h:126
#: source/ubl-strings.h:127
msgid "Do not rotate journal younger than"
msgstr "Не ротировать журналы, возраст которых меньше"
#: source/ubl-strings.h:127
#: source/ubl-strings.h:128
msgid "days"
msgstr "дней"
#: source/ubl-strings.h:128
#: source/ubl-strings.h:129
msgid "Delete rotated journals older than"
msgstr "Удалить ротированные журналы старше"
#: source/ubl-strings.h:129
#: source/ubl-strings.h:130
msgid "Rotate journals if size more than"
msgstr "Ротация журналов, если размер превышает"
#: source/ubl-strings.h:130
#: source/ubl-strings.h:131
msgid "but not earlier than the specified time interval"
msgstr "но не раньше указанного интервала времени"
#: source/ubl-strings.h:131
#: source/ubl-strings.h:132
msgid "before specified time interval"
msgstr "до истечения указанного интервала времени"
#: source/ubl-strings.h:132
#: source/ubl-strings.h:133
msgid "File choosing configuration"
msgstr "Настройки выбора файла"
#: source/ubl-strings.h:133
#: source/ubl-strings.h:134
msgid "Create log"
msgstr "Создавать лог"
#: source/ubl-strings.h:134
#: source/ubl-strings.h:135
msgid "as user:"
msgstr "от пользователя:"
#: source/ubl-strings.h:135
#: source/ubl-strings.h:136
msgid "as group:"
msgstr "от группы:"
#: source/ubl-strings.h:136
#: source/ubl-strings.h:137
msgid "rules:"
msgstr "права:"
#: source/ubl-strings.h:137
#: source/ubl-strings.h:138
msgid ""
"Cut source journal fileafter copy creating instead of moving old journal "
"file and creating new one"
@ -555,209 +559,213 @@ msgstr ""
"После создания копии, обрезать исходный файл журнала взамен перемещения "
"старого файла журнала и создания нового"
#: source/ubl-strings.h:138
#: source/ubl-strings.h:139
msgid "Files and directories configuration"
msgstr "Настройки файлов и папок"
#: source/ubl-strings.h:139
#: source/ubl-strings.h:140
msgid "Delay compression by one journal in queue:"
msgstr "Отложить сжание на один журнал в очереди:"
#: source/ubl-strings.h:140
#: source/ubl-strings.h:141
msgid "Compression configuration"
msgstr "Настройка сжатия"
#: source/ubl-strings.h:141
#: source/ubl-strings.h:142
msgid "Save original log file after rotation if it has specified extension:"
msgstr ""
"Сохранять оригинальный лог после ротации, если у него указано расширение:"
#: source/ubl-strings.h:142
#: source/ubl-strings.h:143
msgid "Add date of rotation before log header"
msgstr "Добавлять дату ротации перед заголовком старого лога:"
#: source/ubl-strings.h:143
#: source/ubl-strings.h:144
msgid "Number from which numbering of old logs will begin"
msgstr "Номер, с которого будет начата нумерация старых логов:"
#: source/ubl-strings.h:144
#: source/ubl-strings.h:145
msgid "Filename configuration"
msgstr "Настройка имени файлов"
#: source/ubl-strings.h:145
#: source/ubl-strings.h:146
msgid "Email after rotation:"
msgstr "Отправка Email после ротации:"
#: source/ubl-strings.h:146
#: source/ubl-strings.h:147
msgid "adress:"
msgstr "на адрес:"
#: source/ubl-strings.h:147
#: source/ubl-strings.h:148
msgid "contents:"
msgstr "содержимое:"
#: source/ubl-strings.h:148 source/ubl-strings.h:161
#: source/ubl-strings.h:149 source/ubl-strings.h:162
msgid "Message configuration"
msgstr "Настройка сообщения"
#: source/ubl-strings.h:149
#: source/ubl-strings.h:150
msgid "Manual input:"
msgstr "Команды настройки"
#: source/ubl-strings.h:150
#: source/ubl-strings.h:151
msgid "Log (-s) size:"
msgstr "Общий размер лога (-ов):"
#: source/ubl-strings.h:151
#: source/ubl-strings.h:152
msgid "Same directory"
msgstr "Той же папке"
#: source/ubl-strings.h:152
#: source/ubl-strings.h:153
msgid "Separate directory"
msgstr "Другой папке"
#: source/ubl-strings.h:153
#: source/ubl-strings.h:154
msgid "Output errors if log file does not exist*"
msgstr "Выводить ошибки, если лог файла не существует*"
#: source/ubl-strings.h:154
#: source/ubl-strings.h:155
msgid "Do not output errors if log file does not exist"
msgstr "Не выводить ошибки, если лог файла не существует"
#: source/ubl-strings.h:155
#: source/ubl-strings.h:156
msgid "Do not output"
msgstr "Не выводить"
#: source/ubl-strings.h:156
#: source/ubl-strings.h:157
msgid "Output errors"
msgstr "Выводить ошибки"
#: source/ubl-strings.h:157
#: source/ubl-strings.h:158
msgid "Send Email"
msgstr "Отправлять Email"
#: source/ubl-strings.h:158
#: source/ubl-strings.h:159
msgid "Don't send Email"
msgstr "Не отправлять Email"
#: source/ubl-strings.h:159
#: source/ubl-strings.h:160
msgid "First rotated copy"
msgstr "Первая ротированная копия"
#: source/ubl-strings.h:160
#: source/ubl-strings.h:161
msgid "Last rotated copy"
msgstr "Последняя ротированная копия"
#: source/ubl-strings.h:162
#: source/ubl-strings.h:163
msgid "Endwork command:"
msgstr "Команда перед удалением файла журнала:"
#: source/ubl-strings.h:165
#: source/ubl-strings.h:166
#, fuzzy
msgid "Hourly"
msgstr "Час"
#: source/ubl-strings.h:166
#: source/ubl-strings.h:167
msgid "Daily"
msgstr "День"
#: source/ubl-strings.h:167
#: source/ubl-strings.h:168
msgid "Weekly*"
msgstr "Неделя*"
#: source/ubl-strings.h:168
#: source/ubl-strings.h:169
msgid "Monthly"
msgstr "Месяц"
#: source/ubl-strings.h:169
#: source/ubl-strings.h:170
msgid "Yearly"
msgstr "Год"
#: source/ubl-strings.h:170
#: source/ubl-strings.h:171
msgid "Monday"
msgstr "Понедельник"
#: source/ubl-strings.h:171
#: source/ubl-strings.h:172
msgid "Tuesday"
msgstr "Вторник"
#: source/ubl-strings.h:172
#: source/ubl-strings.h:173
msgid "Wednesday"
msgstr "Среда"
#: source/ubl-strings.h:173
#: source/ubl-strings.h:174
msgid "Thursday"
msgstr "Четверг"
#: source/ubl-strings.h:174
#: source/ubl-strings.h:175
msgid "Friday"
msgstr "Пятница"
#: source/ubl-strings.h:175
#: source/ubl-strings.h:176
msgid "Saturday"
msgstr "Суббота"
#: source/ubl-strings.h:176
#: source/ubl-strings.h:177
msgid "Sunday*"
msgstr "Воскресенье*"
#: source/ubl-strings.h:177
#: source/ubl-strings.h:178
msgid "Same record already exists"
msgstr "Такая запись уже существует"
#: source/ubl-strings.h:178
#: source/ubl-strings.h:179
msgid "Empty important field"
msgstr "Важное поле не заполнено"
#: source/ubl-strings.h:181
#: source/ubl-strings.h:180
msgid "Repeating paths"
msgstr "Повторяющиеся пути"
#: source/ubl-strings.h:183
msgid "System configuration"
msgstr "Настройки системы"
#: source/ubl-strings.h:182
#: source/ubl-strings.h:184
msgid "Applications configuration"
msgstr "Настройки приложений"
#: source/ubl-strings.h:185
#: source/ubl-strings.h:187
msgid "Path (-s):"
msgstr "Путь (-и):"
#: source/ubl-strings.h:186
#: source/ubl-strings.h:188
msgid "Control:"
msgstr "Управление:"
#: source/ubl-strings.h:187
#: source/ubl-strings.h:189
msgid "Log file"
msgstr "Файл лога"
#: source/ubl-strings.h:188
#: source/ubl-strings.h:190
msgid "Name:"
msgstr "Имя:"
#: source/ubl-strings.h:191
#: source/ubl-strings.h:193
msgid "Owner rules"
msgstr "Правила владельца"
#: source/ubl-strings.h:192
#: source/ubl-strings.h:194
msgid "Group rules"
msgstr "Правила группы"
#: source/ubl-strings.h:193
#: source/ubl-strings.h:195
msgid "Public rules"
msgstr "Правила остальных"
#: source/ubl-strings.h:194
#: source/ubl-strings.h:196
msgid "Read"
msgstr "Чтение"
#: source/ubl-strings.h:195
#: source/ubl-strings.h:197
msgid "Write"
msgstr "Запись"
#: source/ubl-strings.h:196
#: source/ubl-strings.h:198
msgid "Execute"
msgstr "Исполнение"
#: source/ubl-strings.h:197
#: source/ubl-strings.h:199
msgid "Value:"
msgstr "Значение:"

Loading…
Cancel
Save