]> git.ipfire.org Git - thirdparty/sarg.git/blobdiff - po/zh_CN.po
Update the po files
[thirdparty/sarg.git] / po / zh_CN.po
index 48558b37f1dcd45d03ce096d0843f8b0e7489808..3a406ea2febdc2f6e7710708a2f0bd351c5224fa 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: sarg 2.3-pre3\n"
 "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
-"POT-Creation-Date: 2011-09-02 12:16+0200\n"
+"POT-Creation-Date: 2011-10-30 15:35+0100\n"
 "PO-Revision-Date: 2010-06-18 02:09+0800\n"
 "Last-Translator: zhixiang.ren <kurt998@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -38,123 +38,127 @@ msgid "%d more authentication failure not shown here&hellip;"
 msgid_plural "%d more authentication failures not shown here&hellip;"
 msgstr[0] ""
 
-#: authfail.c:84 dansguardian_log.c:138 email.c:139 html.c:408 lastlog.c:81
-#: log.c:1674 realtime.c:88 redirector.c:373 siteuser.c:68 smartfilter.c:71
-#: sort.c:88 sort.c:150 topsites.c:88 topsites.c:204 topuser.c:176
+#: authfail.c:75
+msgid "Authentication failures report not produced because it is empty\n"
+msgstr ""
+
+#: authfail.c:85 dansguardian_log.c:153 email.c:139 html.c:410 lastlog.c:81
+#: log.c:1688 realtime.c:88 redirector.c:375 siteuser.c:70 smartfilter.c:84
+#: sort.c:88 sort.c:150 topsites.c:90 topsites.c:206 topuser.c:176
 #: useragent.c:141 useragent.c:224 useragent.c:293
 #, c-format
 msgid "sort command return status %d\n"
 msgstr "ÅÅÐòÃüÁî·µ»Ø״̬ %d\n"
 
-#: authfail.c:85 authfail.c:90 dansguardian_log.c:139 email.c:140 html.c:409
-#: lastlog.c:82 log.c:1675 realtime.c:89 redirector.c:374 siteuser.c:69
-#: siteuser.c:75 smartfilter.c:72 smartfilter.c:77 sort.c:89 sort.c:151
-#: topsites.c:89 topsites.c:95 topsites.c:205 topsites.c:210 topuser.c:177
+#: authfail.c:86 authfail.c:91 dansguardian_log.c:154 email.c:140 html.c:411
+#: lastlog.c:82 log.c:1689 realtime.c:89 redirector.c:376 siteuser.c:71
+#: siteuser.c:77 smartfilter.c:85 smartfilter.c:90 sort.c:89 sort.c:151
+#: topsites.c:91 topsites.c:97 topsites.c:207 topsites.c:212 topuser.c:177
 #: useragent.c:142 useragent.c:147 useragent.c:225 useragent.c:230
 #: useragent.c:294 useragent.c:299
 #, c-format
 msgid "sort command: %s\n"
 msgstr "ÅÅÐòÃüÁî: %s\n"
 
-#: authfail.c:89 authfail.c:99
+#: authfail.c:90 authfail.c:100
 #, c-format
 msgid "(authfail) Cannot open file %s\n"
 msgstr "(authfail) ²»ÄÜ´ò¿ªÎļþ %s\n"
 
-#: authfail.c:94 authfail.c:207 dansguardian_log.c:143
-#: dansguardian_report.c:172 download.c:167 email.c:145 email.c:256
-#: grepday.c:717 html.c:470 html.c:474 html.c:506 html.c:511 index.c:47
-#: lastlog.c:87 lastlog.c:95 log.c:1679 realtime.c:93 realtime.c:278
-#: redirector.c:379 redirector.c:546 report.c:333 siteuser.c:214
-#: smartfilter.c:81 sort.c:93 sort.c:159 topsites.c:179 topsites.c:215
-#: topuser.c:187 topuser.c:327 topuser.c:383 useragent.c:152 useragent.c:235
+#: authfail.c:95 authfail.c:208 dansguardian_log.c:158
+#: dansguardian_report.c:173 download.c:169 email.c:145 email.c:256
+#: grepday.c:717 html.c:472 html.c:476 html.c:508 html.c:513 index.c:47
+#: lastlog.c:87 lastlog.c:95 log.c:1693 realtime.c:93 realtime.c:278
+#: redirector.c:381 redirector.c:549 report.c:333 siteuser.c:216
+#: smartfilter.c:94 sort.c:93 sort.c:159 topsites.c:181 topsites.c:217
+#: topuser.c:187 topuser.c:328 topuser.c:384 useragent.c:152 useragent.c:235
 #: useragent.c:283 useragent.c:304 useragent.c:337
 #, fuzzy, c-format
 msgid "Cannot delete %s - %s\n"
 msgstr " ²»ÄÜɾ³ý %s - %s\n"
 
-#: authfail.c:103 authfail.c:107 topuser.c:216
+#: authfail.c:104 authfail.c:108 topuser.c:216
 msgid "Authentication Failures"
 msgstr "ÈÏ֤ʧ°Ü"
 
-#: authfail.c:105 dansguardian_report.c:81 denied.c:85 download.c:80
-#: grepday.c:559 redirector.c:447 siteuser.c:86 smartfilter.c:99
-#: smartfilter.c:167 topsites.c:226 topuser.c:200
+#: authfail.c:106 dansguardian_report.c:82 denied.c:86 download.c:82
+#: grepday.c:559 redirector.c:450 siteuser.c:88 smartfilter.c:112
+#: smartfilter.c:180 topsites.c:228 topuser.c:200
 #, c-format
 msgid "Period: %s"
 msgstr "Çø¼ä: %s"
 
-#: authfail.c:111 dansguardian_report.c:87 denied.c:91 download.c:86
-#: email.c:174 realtime.c:300 redirector.c:453 smartfilter.c:108
-#: smartfilter.c:175 topuser.c:243 useragent.c:175
+#: authfail.c:112 dansguardian_report.c:88 denied.c:92 download.c:88
+#: email.c:174 realtime.c:300 redirector.c:456 smartfilter.c:121
+#: smartfilter.c:188 topuser.c:244 useragent.c:175
 msgid "USERID"
 msgstr "Óû§ID"
 
-#: authfail.c:111 dansguardian_report.c:87 denied.c:91 download.c:86
-#: realtime.c:300 redirector.c:453 smartfilter.c:108 smartfilter.c:175
+#: authfail.c:112 dansguardian_report.c:88 denied.c:92 download.c:88
+#: realtime.c:300 redirector.c:456 smartfilter.c:121 smartfilter.c:188
 msgid "IP/NAME"
 msgstr "IP/ÐÕÃû"
 
-#: authfail.c:111 dansguardian_report.c:87 denied.c:91 download.c:86
-#: realtime.c:300 redirector.c:453 report.c:275 report.c:277 smartfilter.c:108
-#: smartfilter.c:175
+#: authfail.c:112 dansguardian_report.c:88 denied.c:92 download.c:88
+#: realtime.c:300 redirector.c:456 report.c:275 report.c:277 smartfilter.c:121
+#: smartfilter.c:188
 msgid "DATE/TIME"
 msgstr "ÈÕÆÚ/ʱ¼ä"
 
-#: authfail.c:111 dansguardian_report.c:87 denied.c:91 download.c:86
-#: html.c:217 realtime.c:300 redirector.c:453 report.c:277 siteuser.c:95
-#: smartfilter.c:108 smartfilter.c:175 topsites.c:238
+#: authfail.c:112 dansguardian_report.c:88 denied.c:92 download.c:88
+#: html.c:219 realtime.c:300 redirector.c:456 report.c:277 siteuser.c:97
+#: smartfilter.c:121 smartfilter.c:188 topsites.c:240
 msgid "ACCESSED SITE"
 msgstr "·ÃÎÊÕ¾µã"
 
-#: authfail.c:114 email.c:80 html.c:142 html.c:365 html.c:421 siteuser.c:113
-#: topsites.c:105 topsites.c:244
+#: authfail.c:115 email.c:80 html.c:144 html.c:367 html.c:423 siteuser.c:115
+#: topsites.c:107 topsites.c:246
 #, c-format
 msgid "Not enough memory to read file %s\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡Îļþ %s\n"
 
-#: authfail.c:121
+#: authfail.c:122
 #, c-format
 msgid "There is a broken date in file %s\n"
 msgstr "Óв»ÍêÕûµÄÈÕÆÚÔÚÎļþ %s\n"
 
-#: authfail.c:125
+#: authfail.c:126
 #, c-format
 msgid "There is a broken time in file %s\n"
 msgstr "Óв»ÍêÕûµÄʱ¼äÔÚÎļþÖР%s\n"
 
-#: authfail.c:129
+#: authfail.c:130
 #, c-format
 msgid "There is a broken user ID in file %s\n"
 msgstr "Óв»ÍêÕûµÄÓû§IDÔÚÎļþÖР%s\n"
 
-#: authfail.c:133
+#: authfail.c:134
 #, c-format
 msgid "There is a broken IP address in file %s\n"
 msgstr "Óв»ÍêÕûµÄIPµØÖ·ÔÚÎļþÖР%s\n"
 
-#: authfail.c:137 denied.c:106 download.c:101 html.c:164 html.c:253
+#: authfail.c:138 denied.c:107 download.c:103 html.c:166 html.c:255
 #, c-format
 msgid "There is a broken url in file %s\n"
 msgstr "Óв»ÍêÕûµÄÁ¬½ÓÔÚÎļþÖР%s\n"
 
-#: authfail.c:146 denied.c:115 download.c:110 email.c:211 redirector.c:484
-#: siteuser.c:122 smartfilter.c:121 topuser.c:304
+#: authfail.c:147 denied.c:116 download.c:112 email.c:211 redirector.c:487
+#: siteuser.c:124 smartfilter.c:134 topuser.c:305
 #, c-format
 msgid "Unknown user ID %s in file %s\n"
 msgstr "δ֪µÄÓû§ID %s ÔÚÎļþ %s\n"
 
-#: authfail.c:202 dansguardian_report.c:167 denied.c:171 download.c:162
-#: grepday.c:761 html.c:602 redirector.c:541 repday.c:226 siteuser.c:220
-#: topsites.c:292 useragent.c:332
+#: authfail.c:203 dansguardian_report.c:168 denied.c:172 download.c:164
+#: grepday.c:761 html.c:604 redirector.c:544 repday.c:226 siteuser.c:222
+#: topsites.c:294 useragent.c:332
 #, c-format
 msgid "Write error in file %s\n"
 msgstr "ÔÚÎļþÖÐÓÐдÈë´íÎó %s\n"
 
-#: authfail.c:204 convlog.c:80 dansguardian_report.c:169 denied.c:173
-#: download.c:164 grepday.c:763 html.c:604 redirector.c:543 repday.c:228
-#: report.c:470 report.c:510 siteuser.c:222 splitlog.c:112 splitlog.c:143
-#: splitlog.c:147 topsites.c:294 topuser.c:459 totday.c:132 useragent.c:127
+#: authfail.c:205 convlog.c:80 dansguardian_report.c:170 denied.c:174
+#: download.c:166 grepday.c:763 html.c:606 redirector.c:546 repday.c:228
+#: report.c:494 report.c:534 siteuser.c:224 splitlog.c:112 splitlog.c:143
+#: splitlog.c:147 topsites.c:296 topuser.c:460 totday.c:132 useragent.c:127
 #: useragent.c:278 useragent.c:334
 #, c-format
 msgid "Failed to close file %s - %s\n"
@@ -180,34 +184,61 @@ msgstr "
 msgid "Cannot open DansGuardian config file: %s\n"
 msgstr "²»ÄÜ´ò¿ª DansGuardian ÅäÖÃÎļþ: %s\n"
 
-#: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:88
+#: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90
 #, c-format
 msgid "(dansguardian) Cannot open log file: %s\n"
 msgstr "(dansguardian) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s\n"
 
-#: dansguardian_log.c:77 dansguardian_log.c:100 dansguardian_log.c:109
-#: dansguardian_report.c:93 lastlog.c:114 log.c:940 log.c:945 log.c:951
-#: log.c:959 log.c:963 log.c:967 log.c:972 log.c:977 log.c:1078 log.c:1082
-#: log.c:1086 log.c:1090 log.c:1094 log.c:1098 log.c:1102 log.c:1106
-#: log.c:1110 log.c:1143 log.c:1150 log.c:1174 realtime.c:221 realtime.c:225
-#: realtime.c:229 realtime.c:233 realtime.c:242 topsites.c:251 topsites.c:256
+#: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125
+#: dansguardian_report.c:94 lastlog.c:114 log.c:941 log.c:946 log.c:952
+#: log.c:960 log.c:964 log.c:968 log.c:973 log.c:978 log.c:1079 log.c:1083
+#: log.c:1087 log.c:1091 log.c:1095 log.c:1099 log.c:1103 log.c:1107
+#: log.c:1111 log.c:1144 log.c:1151 log.c:1175 realtime.c:221 realtime.c:225
+#: realtime.c:229 realtime.c:233 realtime.c:242 topsites.c:253 topsites.c:258
 #: useragent.c:83 useragent.c:106
 #, c-format
 msgid "Maybe you have a broken record or garbage in your %s file\n"
 msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»øÔÚÄãµÄ %s ÎļþÖР\n"
 
-#: dansguardian_log.c:85
+#: dansguardian_log.c:80
+#, fuzzy, c-format
+msgid ""
+"Using the dansguardian log file \"%s\" found in your configuration file \"%s"
+"\"\n"
+msgstr "ÔÚÅäÖÃÎļþÖдæÔÚ¹ý¶àµÄÈÕÖ¾Îļþ\n"
+
+#: dansguardian_log.c:87
 #, c-format
 msgid "Reading DansGuardian log file: %s\n"
 msgstr "¶ÁÈ¡ DansGuardian ÈÕÖ¾Îļþ: %s\n"
 
-#: dansguardian_log.c:104 dansguardian_report.c:97 html.c:375 log.c:955
-#: log.c:1053 realtime.c:238
+#: dansguardian_log.c:100
+#, fuzzy, c-format
+msgid "Invalid date found in your dansguardian log file %s\n"
+msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
+
+#: dansguardian_log.c:104
+#, fuzzy, c-format
+msgid "Invalid time found in your dansguardian log file %s\n"
+msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
+
+#: dansguardian_log.c:108
+#, fuzzy, c-format
+msgid "Invalid user found in your dansguardian log file %s\n"
+msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
+
+#: dansguardian_log.c:112
+#, fuzzy, c-format
+msgid "Invalid IP address found in your dansguardian log file %s\n"
+msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
+
+#: dansguardian_log.c:120 dansguardian_report.c:98 html.c:377 log.c:956
+#: log.c:1054 realtime.c:238
 #, c-format
 msgid "Maybe you have a broken url in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÁ¬½ÓÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: dansguardian_log.c:133 redirector.c:364 sort.c:79 useragent.c:132
+#: dansguardian_log.c:148 redirector.c:366 sort.c:79 useragent.c:132
 #, c-format
 msgid "Sorting file: %s\n"
 msgstr "ÕýÔÚÅÅÐòÎļþ: %s\n"
@@ -218,25 +249,30 @@ msgid "%d more dansguardian entry not shown here&hellip;"
 msgid_plural "%d more dansguardian entries not shown here&hellip;"
 msgstr[0] ""
 
-#: dansguardian_report.c:70 dansguardian_report.c:75
+#: dansguardian_report.c:64
+#, fuzzy
+msgid "Dansguardian report not generated because it is empty\n"
+msgstr "£¨dansguardian_report£©ÎÞ·¨´ò¿ªÎļþ%s\n"
+
+#: dansguardian_report.c:71 dansguardian_report.c:76
 #, c-format
 msgid "(dansguardian_report) Cannot open log file %s\n"
 msgstr "(dansguardian_report) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 
-#: dansguardian_report.c:79 dansguardian_report.c:83 topuser.c:212
+#: dansguardian_report.c:80 dansguardian_report.c:84 topuser.c:212
 msgid "DansGuardian"
 msgstr "DansGuardian"
 
-#: dansguardian_report.c:87
+#: dansguardian_report.c:88
 msgid "CAUSE"
 msgstr "Ô­Òò"
 
-#: dansguardian_report.c:101
+#: dansguardian_report.c:102
 #, c-format
 msgid "Maybe you have a broken rule in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¹æÔòÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: datafile.c:73 html.c:98 report.c:112 sort.c:65
+#: datafile.c:73 html.c:100 report.c:112 sort.c:65
 #, fuzzy, c-format
 msgid "Cannot enumerate the user list\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
@@ -261,7 +297,7 @@ msgstr "(datafile) 
 msgid "Not enough memory to read the downloaded files.\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡ÒÑÏÂÔØÎļþ. \n"
 
-#: datafile.c:109 denied.c:102 download.c:97 report.c:157 smartfilter.c:115
+#: datafile.c:109 denied.c:103 download.c:99 report.c:157 smartfilter.c:128
 #: totday.c:77
 #, c-format
 msgid "There is a broken record or garbage in file %s\n"
@@ -273,7 +309,7 @@ msgid "There is an invalid smart info in file %s\n"
 msgstr "ÓÐÎÞЧµÄÖÇÄÜÐÅÏ¢ÔÚÎļþ %s\n"
 
 #: datafile.c:132 datafile.c:177 realtime.c:266 report.c:195 report.c:289
-#: report.c:319 siteuser.c:133 siteuser.c:184 topsites.c:119 topsites.c:138
+#: report.c:319 siteuser.c:135 siteuser.c:186 topsites.c:121 topsites.c:140
 #, c-format
 msgid "Not enough memory to store the url\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥´æ´¢Á¬½Ó\n"
@@ -309,45 +345,53 @@ msgid "%d more denied access not shown here&hellip;"
 msgid_plural "%d more denied accesses not shown here&hellip;"
 msgstr[0] ""
 
-#: denied.c:74 denied.c:79
+#: denied.c:68
+msgid "Denied report not produced because it is empty\n"
+msgstr ""
+
+#: denied.c:75 denied.c:80
 #, c-format
 msgid "(denied) Cannot open log file %s\n"
 msgstr "(denied)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 
-#: denied.c:83 denied.c:87
+#: denied.c:84 denied.c:88
 msgid "Denied"
 msgstr "ÉùÃ÷"
 
-#: denied.c:94
+#: denied.c:95
 #, c-format
 msgid "Not enough memory to read the denied accesses\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡×èÖ¹·ÃÎÊ\n"
 
-#: denied.c:176
+#: denied.c:177
 #, fuzzy, c-format
 msgid "Failed to delete the file \"%s\" after processing it - %s\n"
 msgstr "ɾ³ýÎļþʧ°Ü %s\n"
 
-#: download.c:69 download.c:74
+#: download.c:64
+msgid "Downloaded files report not generated as it is empty\n"
+msgstr ""
+
+#: download.c:71 download.c:76
 #, c-format
 msgid "(download) Cannot open log file %s\n"
 msgstr "(download) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 
-#: download.c:78 download.c:82 topuser.c:214
+#: download.c:80 download.c:84 topuser.c:214
 msgid "Downloads"
 msgstr "ÏÂÔØ"
 
-#: download.c:89 report.c:147 topuser.c:265
+#: download.c:91 report.c:147 topuser.c:266
 #, c-format
 msgid "Not enough memory to read the downloaded files\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ\n"
 
-#: download.c:197
+#: download.c:199
 #, c-format
 msgid "Download suffix list too long\n"
 msgstr "ÏÂÔغó׺Áбí¹ý³¤\n"
 
-#: download.c:205
+#: download.c:207
 #, c-format
 msgid "Too many download suffixes\n"
 msgstr "¹ý¶àµÄÏÂÔغó׺\n"
@@ -362,14 +406,14 @@ msgstr "(email)
 msgid "Total statistics mismatch when reading %s to produce the email report\n"
 msgstr ""
 
-#: email.c:134 html.c:403 log.c:1669 realtime.c:83 redirector.c:368
-#: siteuser.c:63 sort.c:83 topsites.c:83 topsites.c:199 topuser.c:171
+#: email.c:134 html.c:405 log.c:1683 realtime.c:83 redirector.c:370
+#: siteuser.c:65 sort.c:83 topsites.c:85 topsites.c:201 topuser.c:171
 #: useragent.c:136 useragent.c:219 useragent.c:288
 #, fuzzy, c-format
 msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n"
 msgstr "ѹËõÃüÁî¶ÔÓÚÈÕÖ¾Îļþ¹ý³¤ %s\n"
 
-#: email.c:160 log.c:369
+#: email.c:160 log.c:367
 msgid "Squid User Access Report"
 msgstr "SquidÓû§·ÃÎʱ¨¸æ"
 
@@ -377,32 +421,32 @@ msgstr "Squid
 msgid "Decreasing Access (bytes)"
 msgstr "½µµÍ·ÃÎÊ(bytes)"
 
-#: email.c:168 html.c:196 repday.c:127 report.c:266 useragent.c:167
+#: email.c:168 html.c:198 repday.c:127 report.c:266 useragent.c:167
 msgid "Period"
 msgstr "ÆÚ¼ä"
 
-#: email.c:172 siteuser.c:93 topsites.c:236 topuser.c:234
+#: email.c:172 siteuser.c:95 topsites.c:238 topuser.c:235
 msgid "NUM"
 msgstr "Êý×Ö"
 
-#: email.c:176 html.c:220 topsites.c:238 topuser.c:246
+#: email.c:176 html.c:222 topsites.c:240 topuser.c:247
 msgid "CONNECT"
 msgstr "Á¬½Ó"
 
-#: email.c:178 grepday.c:740 html.c:222 html.c:224 index.c:432 repday.c:140
-#: siteuser.c:97 topsites.c:238 topuser.c:248 topuser.c:250
+#: email.c:178 grepday.c:740 html.c:224 html.c:226 index.c:432 repday.c:140
+#: siteuser.c:99 topsites.c:240 topuser.c:249 topuser.c:251
 msgid "BYTES"
 msgstr "×Ö½Ú"
 
-#: email.c:180 grepday.c:753 html.c:228 topuser.c:254
+#: email.c:180 grepday.c:753 html.c:230 topuser.c:255
 msgid "ELAPSED TIME"
 msgstr "ÒÑʹÓÃʱ¼ä"
 
-#: email.c:182 html.c:230 topuser.c:256
+#: email.c:182 html.c:232 topuser.c:257
 msgid "MILLISEC"
 msgstr "ºÁÃë"
 
-#: email.c:184 html.c:232 topsites.c:238 topuser.c:258
+#: email.c:184 html.c:234 topsites.c:240 topuser.c:259
 msgid "TIME"
 msgstr "ʱ¼ä"
 
@@ -426,25 +470,25 @@ msgstr "
 msgid "There is an invalid elapsed time in file %s\n"
 msgstr "ÓÐÒ»¸öÎÞЧµÄʱ¼äÖµ %s\n"
 
-#: email.c:230 email.c:232 html.c:519 repday.c:145 repday.c:169 repday.c:188
-#: repday.c:212 topuser.c:394 useragent.c:311
+#: email.c:230 email.c:232 html.c:521 repday.c:145 repday.c:169 repday.c:188
+#: repday.c:212 topuser.c:395 useragent.c:311
 msgid "TOTAL"
 msgstr "×ÜÖµ"
 
-#: email.c:246 html.c:580 index.c:432 topuser.c:427
+#: email.c:246 html.c:582 index.c:432 topuser.c:428
 msgid "AVERAGE"
 msgstr "ƽ¾ùÖµ"
 
-#: email.c:275 html.c:212
+#: email.c:275 html.c:214
 msgid "Report"
 msgstr "±¨¸æ"
 
-#: email.c:278 index.c:582 log.c:1657
+#: email.c:278 index.c:582 log.c:1671
 #, c-format
 msgid "command return status %d\n"
 msgstr "ÃüÁî·µ»Ø״̬ %d\n"
 
-#: email.c:279 index.c:583 log.c:1658
+#: email.c:279 index.c:583 log.c:1672
 #, c-format
 msgid "command: %s\n"
 msgstr "ÃüÁî: %s\n"
@@ -489,7 +533,7 @@ msgstr "
 msgid "Failed to move till the end of the excluded users file %s: %s\n"
 msgstr "ÔÚÅųýÓû§Îļþ֮ǰ²»ÄÜÒƶ¯¸ÃÎļþ %s: %s\n"
 
-#: exclude.c:328 log.c:1733 util.c:1338
+#: exclude.c:328 log.c:1747 util.c:1400
 #, c-format
 msgid "Cannot get the size of file %s\n"
 msgstr "²»Äܵõ½ÎļþµÄ´óС %s\n"
@@ -731,7 +775,7 @@ msgstr "(grepday) iconv 
 msgid "user name too long for %s/%s.day\n"
 msgstr "Óû§Ãû¹ý³¤ %s/%s.day\n"
 
-#: grepday.c:690 redirector.c:462 repday.c:81
+#: grepday.c:690 redirector.c:465 repday.c:81
 #, c-format
 msgid "Invalid date in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
@@ -765,191 +809,201 @@ msgstr "
 msgid "DAYS"
 msgstr "ÈÕ"
 
-#: html.c:80
+#: html.c:66
+#, fuzzy, c-format
+msgid "File name too long: %s/sargtmp.unsort\n"
+msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
+
+#: html.c:71
+#, fuzzy, c-format
+msgid "File name too long: %s/sargtmp.log\n"
+msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
+
+#: html.c:82
 #, fuzzy, c-format
 msgid "(html11) Cannot open file %s - %s\n"
 msgstr "(html11) ²»ÄÜ´ò¿ªÎļþ %s\n"
 
-#: html.c:84
+#: html.c:86
 #, c-format
 msgid "(html11) read error in %s\n"
 msgstr "(html11) ¶ÁÈ¡´íÎóÔÚ %s\n"
 
-#: html.c:105
+#: html.c:107
 #, c-format
 msgid "Destination directory too long: %s/%s\n"
 msgstr "Ä¿±êĿ¼¹ý³¤: %s/%s\n"
 
-#: html.c:110 index.c:543 index.c:551 util.c:287 util.c:299 util.c:874
+#: html.c:112 index.c:543 index.c:551 util.c:332 util.c:344 util.c:936
 #, fuzzy, c-format
 msgid "Cannot create directory %s - %s\n"
 msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n"
 
-#: html.c:119
+#: html.c:121
 #, fuzzy, c-format
 msgid "Input file name too long: %s/%s.txt\n"
 msgstr "ÊäÈëµÄÃû³Æ¹ý³¤: %s/%s\n"
 
-#: html.c:124
+#: html.c:126
 #, c-format
 msgid "(html3) Cannot open file %s\n"
 msgstr "(html3) ²»ÄÜ´ò¿ªÎļþ %s\n"
 
-#: html.c:129
+#: html.c:131
 #, c-format
 msgid "Output file name too long: %s/%s/%s.html\n"
 msgstr "Êä³öÎļþÃû¹ý³¤: %s/%s/%s.html\n"
 
-#: html.c:133
+#: html.c:135
 #, c-format
 msgid "File name too long: %s/%s/denied_%s.html\n"
 msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n"
 
-#: html.c:154 html.c:245 topuser.c:280
+#: html.c:156 html.c:247 topuser.c:281
 #, c-format
 msgid "There is a broken number of access in file %s\n"
 msgstr "Óв»ÍêÕûµÄ·ÃÎÊÊý×ÖÔÚÎļþ %s\n"
 
-#: html.c:159
+#: html.c:161
 #, c-format
 msgid "There is a broken downloaded size in file %s\n"
 msgstr "Óв»ÍêÕûµÄÏÂÔØ´óСÔÚÎļþ %s\n"
 
-#: html.c:168 html.c:257
+#: html.c:170 html.c:259
 #, c-format
 msgid "There is a broken access code in file %s\n"
 msgstr "Óв»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÎļþ %s\n"
 
-#: html.c:172 html.c:261 report.c:162
+#: html.c:174 html.c:263 report.c:162
 #, c-format
 msgid "There is a broken elapsed time in file %s\n"
 msgstr "Óв»ÍêÕûµÄʱ¼äÔÚÎļþ %s\n"
 
-#: html.c:177
+#: html.c:179
 #, c-format
 msgid "There is a broken in-cache volume in file %s\n"
 msgstr "Óв»ÍêÕûµÄin-cache¾íÔÚÎļþ %s\n"
 
-#: html.c:182
+#: html.c:184
 #, c-format
 msgid "There is a broken out-cache volume in file %s\n"
 msgstr "Óв»ÍêÕûµÄout-cache¾íÔÚÎļþ %s\n"
 
-#: html.c:191
+#: html.c:193
 #, c-format
 msgid "(html5) Cannot open file %s\n"
 msgstr "(html5) ²»ÄÜ´ò¿ªÎļþ %s\n"
 
-#: html.c:195 html.c:201
+#: html.c:197 html.c:203
 msgid "User report"
 msgstr "Óû§±¨¸æ"
 
-#: html.c:197 repday.c:128 report.c:267 report.c:271 smartfilter.c:169
+#: html.c:199 repday.c:128 report.c:267 report.c:271 smartfilter.c:182
 msgid "User"
 msgstr "Óû§"
 
-#: html.c:199 report.c:269
+#: html.c:201 report.c:269
 #, c-format
 msgid "Sort:&nbsp;%s, %s"
 msgstr ""
 
-#: html.c:212 smartfilter.c:57 smartfilter.c:101 topuser.c:217
+#: html.c:214 smartfilter.c:57 smartfilter.c:114 topuser.c:217
 msgid "SmartFilter"
 msgstr "ÖÇÄܹýÂË"
 
-#: html.c:226 topuser.c:252
+#: html.c:228 topuser.c:253
 msgid "IN-CACHE-OUT"
 msgstr "IN-CACHE-OUT"
 
-#: html.c:237
+#: html.c:239
 #, c-format
 msgid "Making report: %s\n"
 msgstr "±ê¼Ç±¨¸æ: %s\n"
 
-#: html.c:249 topuser.c:276 util.c:712
+#: html.c:251 topuser.c:277 util.c:774
 #, c-format
 msgid "There is a broken number of bytes in file %s\n"
 msgstr "Óв»ÍêÕûµÄ×Ö½ÚÊý×ÖÔÚÎļþ %s\n"
 
-#: html.c:265
+#: html.c:267
 #, c-format
 msgid "There is a broken in cache column in file %s\n"
 msgstr "ÖжÏÔÚ»º´æÁÐÄÚÔÚÎļþ %s\n"
 
-#: html.c:269
+#: html.c:271
 #, c-format
 msgid "There is a broken out of cache column in file %s (%d)\n"
 msgstr "ÖжÏÔÚ»º´æÁÐÍâÔÚÎļþ %s(%d)\n"
 
-#: html.c:283 topuser.c:323
+#: html.c:285 topuser.c:324
 msgid "date/time report"
 msgstr "ÈÕÆÚ/ʱ¼ä ±¨¸æ"
 
-#: html.c:336
+#: html.c:338
 msgid "DENIED"
 msgstr "×èÖ¹"
 
-#: html.c:344
+#: html.c:346
 #, fuzzy, c-format
 msgid "Cannot delete unused file \"%s\" - %s\n"
 msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n"
 
-#: html.c:350
+#: html.c:352
 #, c-format
 msgid "File name too long: %s/%s.ip\n"
 msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
 
-#: html.c:355
+#: html.c:357
 #, c-format
 msgid "(html6) Cannot open file %s\n"
 msgstr "(html6)²»ÄÜ´ò¿ªÎļþ %s\n"
 
-#: html.c:360
+#: html.c:362
 #, c-format
 msgid "(html7) Cannot open file %s\n"
 msgstr "(html7) ²»ÄÜ´ò¿ªÎļþ %s\n"
 
-#: html.c:371 html.c:427
+#: html.c:373 html.c:429
 #, c-format
 msgid "Maybe you have a broken user IP in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÓû§IPµØÖ·ÔÚÄãµÄ %s ÎļþÖР\n"
 
-#: html.c:380 log.c:1238
+#: html.c:382 log.c:1239
 #, c-format
 msgid "Maybe you have a broken day in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖР\n"
 
-#: html.c:384 log.c:1197
+#: html.c:386 log.c:1198
 #, c-format
 msgid "Maybe you have a broken time in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: html.c:388 html.c:431
+#: html.c:390 html.c:433
 #, c-format
 msgid "Maybe you have a broken size in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ´óСÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: html.c:392 html.c:435 log.c:1027 log.c:1032
+#: html.c:394 html.c:437 log.c:1028 log.c:1033
 #, c-format
 msgid "Maybe you have a broken elapsed time in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: html.c:414
+#: html.c:416
 #, c-format
 msgid "(html8) Cannot open file %s\n"
 msgstr "(html8) ²»ÄÜ´ò¿ªÎļþ %s\n"
 
-#: html.c:549
+#: html.c:551
 #, c-format
 msgid "(html9) Cannot open file %s\n"
 msgstr "(html9) ²»ÄÜ´ò¿ªÎļþ %s\n"
 
-#: html.c:564
+#: html.c:566
 #, c-format
 msgid "(html10) Cannot open file %s\n"
 msgstr "(html10) ²»ÄÜ´ò¿ªÎļþ %s\n"
 
-#: html.c:571
+#: html.c:573
 #, c-format
 msgid "User %s limit exceeded (%d MB). Added to file %s\n"
 msgstr "Óû§%s ³¬³öÏÞÖÆ (%d MB). Ôö¼Óµ½Îļþ %s\n"
@@ -1082,7 +1136,7 @@ msgstr "
 msgid "CREATION DATE"
 msgstr "´´½¨ÈÕÆÚ"
 
-#: index.c:432 siteuser.c:100
+#: index.c:432 siteuser.c:102
 msgid "USERS"
 msgstr "Óû§"
 
@@ -1162,494 +1216,519 @@ msgstr "
 msgid "Failed to delete the file %s\n"
 msgstr "ɾ³ýÎļþʧ°Ü %s\n"
 
-#: log.c:413
+#: log.c:411
 #, c-format
 msgid "Too many log files passed on command line with option -l.\n"
 msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n"
 
-#: log.c:417
+#: log.c:415
 #, c-format
 msgid "Log file name too long passed on command line with option -l: %s\n"
 msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n"
 
-#: log.c:426
+#: log.c:424
 #, c-format
 msgid "Too many redirector logs passed on command line with option -L.\n"
 msgstr "´«ÈëÃüÁîÐвÎÊý -LµÄÖض¨ÏòÈÕÖ¾Îļþ¹ý¶à.\n"
 
-#: log.c:430
+#: log.c:428
 #, c-format
 msgid ""
 "Redirector log file name too long passed on command line with opton -L: %s\n"
 msgstr "´«ÈëÃüÁîÐвÎÊý -L µÄÖض¨ÏòÈÕÖ¾ÎļþÃû¹ý³¤: %s\n"
 
-#: log.c:464
+#: log.c:462
 #, fuzzy, c-format
 msgid "Time period passed on the command line with option -t must be MM:SS\n"
 msgstr "ʱ¼äÇø¼ä´«ÈëÃüÁîÐвÎÊý -t ²»´æÔÚ\n"
 
-#: log.c:472
+#: log.c:470
 #, fuzzy, c-format
 msgid ""
 "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
 msgstr "ʱ¼äÇø¼ä´«ÈëÃüÁîÐвÎÊý -t ²»´æÔÚ\n"
 
-#: log.c:500
+#: log.c:498
 #, fuzzy, c-format
 msgid "Option -%c requires an argument\n"
 msgstr "Ñ¡Ïî -%c ÐèÒªÒ»¸öÅжÏ\n"
 
-#: log.c:518
+#: log.c:516
 #, fuzzy, c-format
 msgid "Too many log files passed on command line.\n"
 msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n"
 
-#: log.c:522
+#: log.c:520
 #, fuzzy, c-format
 msgid "Log file name too long passed on command line: %s\n"
 msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n"
 
-#: log.c:531
+#: log.c:529
 #, c-format
 msgid "Init\n"
 msgstr "Init\n"
 
-#: log.c:535
+#: log.c:533
 #, c-format
 msgid "Cannot open config file: %s - %s\n"
 msgstr "²»ÄÜ´ò¿ªÅäÖÃÎļþ: %s -%s\n"
 
-#: log.c:643
+#: log.c:641
 #, c-format
 msgid ""
 "The output directory \"%s\" must be outside of the temporary directory \"%s"
 "\"\n"
 msgstr ""
 
-#: log.c:664 log.c:696
+#: log.c:662 log.c:694
 #, c-format
 msgid "Parameters:\n"
 msgstr "²ÎÊý:\n"
 
-#: log.c:665 log.c:697
+#: log.c:663 log.c:695
 #, c-format
 msgid "          Hostname or IP address (-a) = %s\n"
 msgstr "          Ö÷»úÃû»òÕßIPµØÖ·(-a) = %s\n"
 
-#: log.c:666 log.c:698
+#: log.c:664 log.c:696
 #, c-format
 msgid "                   Useragent log (-b) = %s\n"
 msgstr "                   Óû§´úÀí  ÈÕÖ¾w (-b) = %s\n"
 
-#: log.c:667 log.c:699
+#: log.c:665 log.c:697
 #, c-format
 msgid "                    Exclude file (-c) = %s\n"
 msgstr "                    Åųý Îļþ (-c) = %s\n"
 
-#: log.c:668 log.c:700
+#: log.c:666 log.c:698
 #, c-format
 msgid "                 Date from-until (-d) = %s\n"
 msgstr "                 ÈÕÆÚ ´Ó-ÖÁ (-d) = %s\n"
 
-#: log.c:669 log.c:701
+#: log.c:667 log.c:699
 #, c-format
 msgid "   Email address to send reports (-e) = %s\n"
 msgstr "   ÓʼþµØÖ·ÓÃÀ´·¢Ëͱ¨¸æ (-e) = %s\n"
 
-#: log.c:670 log.c:702
+#: log.c:668 log.c:700
 #, c-format
 msgid "                     Config file (-f) = %s\n"
 msgstr "                     ÅäÖÃÎļþ (-f) = %s\n"
 
-#: log.c:672 log.c:704
+#: log.c:670 log.c:702
 #, c-format
 msgid "                     Date format (-g) = Europe (dd/mm/yyyy)\n"
 msgstr "                     ÈÕÆÚ¸ñʽ (-g) = Å·ÖÞ (dd/mm/yyyy)\n"
 
-#: log.c:674 log.c:706
+#: log.c:672 log.c:704
 #, c-format
 msgid "                     Date format (-g) = USA (mm/dd/yyyy)\n"
 msgstr "                     ÈÕÆÚ¸ñʽ (-g) = ÃÀ¹ú (mm/dd/yyyy)\n"
 
-#: log.c:676 log.c:708
+#: log.c:674 log.c:706
 #, c-format
 msgid "                     Date format (-g) = Sites & Users (yyyy/ww)\n"
 msgstr "                     ÈÕÆÚ¸ñʽ (-g) = Õ¾µã & Óû§ (yyyy/ww)\n"
 
-#: log.c:677 log.c:709
+#: log.c:675 log.c:707
 #, c-format
 msgid "                       IP report (-i) = %s\n"
 msgstr "                       IP±¨¸æ (-i) = %s\n"
 
-#: log.c:677 log.c:682 log.c:684 log.c:689 log.c:690 log.c:709 log.c:714
-#: log.c:716 log.c:721 log.c:722
+#: log.c:675 log.c:680 log.c:682 log.c:687 log.c:688 log.c:707 log.c:712
+#: log.c:714 log.c:719 log.c:720
 msgid "Yes"
 msgstr "ÊÇ"
 
-#: log.c:677 log.c:682 log.c:684 log.c:689 log.c:690 log.c:709 log.c:714
-#: log.c:716 log.c:721 log.c:722
+#: log.c:675 log.c:680 log.c:682 log.c:687 log.c:688 log.c:707 log.c:712
+#: log.c:714 log.c:719 log.c:720
 msgid "No"
 msgstr "·ñ"
 
-#: log.c:679 log.c:711
+#: log.c:677 log.c:709
 #, c-format
 msgid "                       Input log (-l) = %s\n"
 msgstr "                       ÊäÈëµÄÈÕÖ¾ (-l) = %s\n"
 
-#: log.c:681 log.c:713
+#: log.c:679 log.c:711
 #, c-format
 msgid "                  Redirector log (-L) = %s\n"
 msgstr "                  Öض¨ÏòÈÕÖ¾  (-L) = %s\n"
 
-#: log.c:682 log.c:714
+#: log.c:680 log.c:712
 #, c-format
 msgid "              Resolve IP Address (-n) = %s\n"
 msgstr "              ×ª»»IPµØÖ· (-n) = %s\n"
 
-#: log.c:683 log.c:715
+#: log.c:681 log.c:713
 #, c-format
 msgid "                      Output dir (-o) = %s\n"
 msgstr "                      Êä³öĿ¼ (-o) = %s\n"
 
-#: log.c:684 log.c:716
+#: log.c:682 log.c:714
 #, c-format
 msgid "Use Ip Address instead of userid (-p) = %s\n"
 msgstr "ʹÓÃIPµØÖ·Ìæ´úÓû§ID (-p) = %s\n"
 
-#: log.c:685 log.c:717
+#: log.c:683 log.c:715
 #, c-format
 msgid "                   Accessed site (-s) = %s\n"
 msgstr "                   ·ÃÎÊÕ¾µã (-s) = %s\n"
 
-#: log.c:686 log.c:718
+#: log.c:684 log.c:716
 #, c-format
 msgid "                            Time (-t) = %s\n"
 msgstr "                            Ê±¼ä (-t) = %s\n"
 
-#: log.c:687 log.c:719
+#: log.c:685 log.c:717
 #, c-format
 msgid "                            User (-u) = %s\n"
 msgstr "                            Óû§ (-u) = %s\n"
 
-#: log.c:688 log.c:720
+#: log.c:686 log.c:718
 #, c-format
 msgid "                   Temporary dir (-w) = %s\n"
 msgstr "                   ÁÙʱÎļþĿ¼ (-w) = %s\n"
 
-#: log.c:689 log.c:721
+#: log.c:687 log.c:719
 #, c-format
 msgid "                  Debug messages (-x) = %s\n"
 msgstr "                  ¾À´íÐÅÏ¢ (-x) = %s\n"
 
-#: log.c:690 log.c:722
+#: log.c:688 log.c:720
 #, c-format
 msgid "                Process messages (-z) = %s\n"
 msgstr "                ½ø³ÌÐÅÏ¢ (-z) = %s\n"
 
-#: log.c:691 log.c:723
+#: log.c:689 log.c:721
 #, c-format
 msgid " Previous reports to keep (--lastlog) = %d\n"
 msgstr ""
 
-#: log.c:724 log.c:728
+#: log.c:722 log.c:726
 #, c-format
 msgid "sarg version: %s\n"
 msgstr "sarg °æ±¾: %s\n"
 
-#: log.c:731
+#: log.c:729
 #, c-format
 msgid "Sarg compiled to report warnings if the output is inconsistent\n"
 msgstr ""
 
-#: log.c:761
+#: log.c:759
 #, c-format
 msgid "setrlimit error - %s\n"
 msgstr "setrlimit ´íÎó - %s\n"
 
-#: log.c:772
+#: log.c:770
 #, c-format
 msgid "Not enough memory to read a log file\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Ò»¸öÈÕÖ¾Îļþ\n"
 
-#: log.c:781 log.c:788
+#: log.c:779 log.c:786
 #, c-format
 msgid "(log) Cannot open file: %s - %s\n"
 msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n"
 
-#: log.c:801
+#: log.c:799
 #, c-format
 msgid "Reading access log file: from stdin\n"
 msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: ´Ó stdin\n"
 
-#: log.c:807
+#: log.c:805
 #, c-format
 msgid ""
 "Cannot get the modification time of input log file %s (%s). Processing it "
 "anyway\n"
 msgstr "²»Äܵõ½ÊäÈëÈÕÖ¾ÎļþµÄÐÞ¸Äʱ¼ä %s (%s). ½ø³ÌÕýÔÚ¼ÌÐø\n"
 
-#: log.c:811
+#: log.c:809
 #, c-format
 msgid "Ignoring old log file %s\n"
 msgstr "ºöÂԳ¾ɵÄÈÕÖ¾Îļþ %s\n"
 
-#: log.c:818 log.c:886
+#: log.c:816 log.c:887
 #, c-format
 msgid "(log) Cannot open log file: %s - %s\n"
 msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n"
 
-#: log.c:821
+#: log.c:819
 #, c-format
 msgid "Reading access log file: %s\n"
 msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s\n"
 
-#: log.c:849
+#: log.c:847
 #, c-format
 msgid "SARG: Records in file: %lu, reading: %3.2f%%"
 msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2f%%"
 
-#: log.c:863
+#: log.c:861
 #, c-format
 msgid "Log is from Microsoft ISA: %s\n"
 msgstr "ÈÕÖ¾À´×Ô΢ÈíISA: %s\n"
 
-#: log.c:871
+#: log.c:869
 #, c-format
 msgid "The name of the file is invalid: %s\n"
 msgstr "ÎļþÃû²»´æÔÚ: %s\n"
 
-#: log.c:895
+#: log.c:883
+#, fuzzy, c-format
+msgid "File name too long: %s/sarg_temp.log"
+msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
+
+#: log.c:896
 #, c-format
 msgid "SARG: Records in file: %lu, reading: %3.2lf%%"
 msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2lf%%"
 
-#: log.c:911
+#: log.c:912
 #, c-format
 msgid "Maybe you have a broken record or garbage in your exclusion string\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¼Í¼»òÕßÀ¬»øÔÚÄãµÄ½ûÖ¹×Ö·û´®\n"
 
-#: log.c:932
+#: log.c:933
 #, c-format
 msgid "Maybe you have a broken time in your access.log file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄʱ¼äÔÚÄãµÄaccess.logÎļþ\n"
 
-#: log.c:993 log.c:997 log.c:1002 log.c:1006 log.c:1010 log.c:1115 log.c:1119
-#: log.c:1123 log.c:1191 useragent.c:89
+#: log.c:994 log.c:998 log.c:1003 log.c:1007 log.c:1011 log.c:1116 log.c:1120
+#: log.c:1124 log.c:1192 useragent.c:89
 #, c-format
 msgid "Maybe you have a broken date in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1019 log.c:1130 log.c:1247
+#: log.c:1020 log.c:1131 log.c:1248
 #, fuzzy, c-format
 msgid "Invalid time found in %s\n"
 msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
 
-#: log.c:1037
+#: log.c:1038
 #, c-format
 msgid "Maybe you have a broken client IP address in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¿Í»§¶ËIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1041
+#: log.c:1042
 #, c-format
 msgid "Maybe you have a broken result code in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ½á¹û´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1045
+#: log.c:1046
 #, c-format
 msgid "Maybe you have a broken amount of data in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÊý¾Ý×ܺÍÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1049
+#: log.c:1050
 #, c-format
 msgid "Maybe you have a broken request method in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÐèÇó·½·¨ÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1057 log.c:1185
+#: log.c:1058 log.c:1186
 #, c-format
 msgid "Maybe you have a broken user ID in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÓû§IDÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1066
+#: log.c:1067
 #, c-format
 msgid "Cannot convert the timestamp from the squid log file\n"
 msgstr "²»ÄÜת»»Ê±¼ä´Á´ÓsquidÈÕÖ¾Îļþ\n"
 
-#: log.c:1179
+#: log.c:1180
 #, c-format
 msgid "Maybe you have a broken IP in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1203
+#: log.c:1204
 #, c-format
 msgid "Maybe you have a broken download duration in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔسÖÐøʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1209
+#: log.c:1210
 #, c-format
 msgid "Maybe you have a broken download size in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔØ´óСÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1217
+#: log.c:1218
 #, c-format
 msgid "Maybe you have a broken access code in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1230
+#: log.c:1231
 #, c-format
 msgid "Maybe you have a broken year in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÄê·ÝÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1234
+#: log.c:1235
 #, c-format
 msgid "Maybe you have a broken month in your %s file\n"
 msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: log.c:1254
+#: log.c:1255
 #, c-format
 msgid "Unknown input log file format\n"
 msgstr "δ֪µÄÊäÈëÈÕÖ¾Îļþ¸ñʽ\n"
 
-#: log.c:1279
+#: log.c:1280
 #, c-format
 msgid "User ID too long: %s\n"
 msgstr "Óû§ID¹ý³¤: %s\n"
 
-#: log.c:1292
+#: log.c:1293
 #, c-format
 msgid "Excluded code: %s\n"
 msgstr "ÒÑÅųý´úÂë: %s\n"
 
-#: log.c:1354
+#: log.c:1355
 #, c-format
 msgid "Excluded site: %s\n"
 msgstr "ÒÑÅųýÕ¾µã: %s\n"
 
-#: log.c:1410
+#: log.c:1411
 #, c-format
 msgid "Excluded user: %s\n"
 msgstr "ÒÑÅųýÓû§: %s\n"
 
-#: log.c:1440
+#: log.c:1441
 #, c-format
 msgid "Not enough memory to store the user %s\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
 
-#: log.c:1464
+#: log.c:1465
 #, c-format
 msgid "Failed to close the log file of user %s - %s\n"
 msgstr "¹Ø±ÕÓû§ÈÕÖ¾Îļþʧ°Ü %s - %s\n"
 
-#: log.c:1474
+#: log.c:1475
 #, fuzzy, c-format
 msgid "Temporary user file name too long: %s/%s.unsort\n"
 msgstr "ÁÙʱÓû§ÎļþÃû¹ý³¤: %s/sarg/%s.unsort\n"
 
-#: log.c:1478 log.c:1509
+#: log.c:1479 log.c:1510
 #, c-format
 msgid "(log) Cannot open temporary file: %s - %s\n"
 msgstr "(log) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s\n"
 
-#: log.c:1495
+#: log.c:1496
 #, c-format
 msgid "Write error in the log file of user %s\n"
 msgstr "ÈÕÖ¾ÎļþÖеÄÓû§´æÔÚдÈë´íÎó %s\n"
 
-#: log.c:1558
+#: log.c:1561
 #, c-format
 msgid "SARG: Records in file: %lu, reading: %3.2f%%\n"
 msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, reading: %3.2f%%\n"
 
-#: log.c:1564
+#: log.c:1567
 #, c-format
 msgid "   Records read: %ld, written: %ld, excluded: %ld\n"
 msgstr "¼Í¼ ¶ÁÈ¡: %ld, ÒÑдÈë: %ld, Åųý: %ld\n"
 
-#: log.c:1586
+#: log.c:1589
 #, c-format
 msgid "Log with mixed records format (squid and common log)\n"
 msgstr "ÈÕÖ¾Óë¼Í¼»ìºÏ¸ñʽ(squid and common log)\n"
 
-#: log.c:1589
+#: log.c:1592
 #, c-format
 msgid "Common log format\n"
 msgstr "ÆÕͨÈÕÖ¾¸ñʽ\n"
 
-#: log.c:1592
+#: log.c:1595
 #, c-format
 msgid "Squid log format\n"
 msgstr "SquidÈÕÖ¾¸ñʽ\n"
 
-#: log.c:1595
+#: log.c:1598
 #, c-format
 msgid "Sarg log format\n"
 msgstr "SargÈÕÖ¾¸ñʽ\n"
 
-#: log.c:1598
+#: log.c:1601
 #, c-format
 msgid "Log with invalid format\n"
 msgstr "²»´æÔÚµÄÈÕÖ¾¸ñʽ\n"
 
-#: log.c:1602
+#: log.c:1605
 #, c-format
 msgid "No records found\n"
 msgstr "ûÓÐÕÒµ½¼Í¼\n"
 
-#: log.c:1603 log.c:1706
+#: log.c:1606 log.c:1720
 #, c-format
 msgid "End\n"
 msgstr "½áÊø\n"
 
-#: log.c:1617
+#: log.c:1620
 #, c-format
 msgid "Period covered by log files: %s-%s\n"
 msgstr "Æڼ䱻ÈÕÖ¾Îļþ¸²¸Ç: %s - %s\n"
 
-#: log.c:1621
+#: log.c:1624
 #, c-format
 msgid "Failed to build the string representation of the date range\n"
 msgstr "½¨Á¢ÒÔ×Ö·û´®±íʾÈÕÆڵķ¶Î§Ê±Ê§°Ü\n"
 
-#: log.c:1631
+#: log.c:1629
+#, c-format
+msgid "date=%s\n"
+msgstr ""
+
+#: log.c:1630
+#, fuzzy, c-format
+msgid "period=%s\n"
+msgstr "ÆÚ¼ä: %s\n"
+
+#: log.c:1634
 #, c-format
 msgid "Period: %s\n"
 msgstr "ÆÚ¼ä: %s\n"
 
-#: log.c:1645
+#: log.c:1652
+#, fuzzy, c-format
+msgid "File name too long: %s/sarg-%s_%s-%s_%s.log"
+msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
+
+#: log.c:1656
 #, c-format
 msgid "failed to rename %s to %s - %s\n"
 msgstr "ÖØÃüÃûʧ°Ü %s ÖÁ %s - %s\n"
 
-#: log.c:1664
+#: log.c:1666
+#, fuzzy, c-format
+msgid "Command too long: %s \"%s\""
+msgstr "·¾¶¹ý³¤ %s/%s.ip\n"
+
+#: log.c:1678
 #, c-format
 msgid "Sarg parsed log saved as %s\n"
 msgstr "Sarg½âÎöÈÕÖ¾Áí´æΪ %s\n"
 
-#: log.c:1720
+#: log.c:1734
 #, c-format
 msgid "Loading password file from %s\n"
 msgstr "¼ÓÔØÃÜÂë´ÓÎļþ %s\n"
 
-#: log.c:1723
+#: log.c:1737
 #, c-format
 msgid "(getusers) Cannot open file %s - %s\n"
 msgstr "(getusers) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
 
-#: log.c:1728
+#: log.c:1742
 #, c-format
 msgid "Failed to move till the end of the users file %s: %s\n"
 msgstr "Òƶ¯Óû§ÎļþÖÁĩβʱʧ°Ü%s: %s\n"
 
-#: log.c:1738
+#: log.c:1752
 #, c-format
 msgid "Failed to rewind the users file %s: %s\n"
 msgstr "ת´æÓû§Îļþʱʧ°Ü %s: %s\n"
 
-#: log.c:1743 util.c:1348
+#: log.c:1757 util.c:1410
 #, c-format
 msgid "malloc error (%ld)\n"
 msgstr "ÄÚ´æ·ÖÒ³´íÎó (%ld)\n"
 
-#: log.c:1753
+#: log.c:1767
 #, c-format
 msgid "You have an invalid user in your %s file\n"
 msgstr "ÓÐÒ»¸ö²»´æÔÚµÄÓû§ÔÚÄãµÄ %s Îļþ\n"
@@ -1763,8 +1842,8 @@ msgid ""
 "%s\n"
 msgstr "¶ÁȡеÄÖض¨ÏòÈÕÖ¾ÎļþÃûʱûÓеÄ×ã¹»µÄÄÚ´æ - %s\n"
 
-#: redirector.c:93 redirector.c:286 redirector.c:303 redirector.c:431
-#: redirector.c:436
+#: redirector.c:93 redirector.c:288 redirector.c:305 redirector.c:434
+#: redirector.c:439
 #, c-format
 msgid "(squidguard) Cannot open log file %s\n"
 msgstr "(squidguard) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
@@ -1850,7 +1929,7 @@ msgstr "
 msgid "Invalid redirected list in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: redirector.c:201 redirector.c:474
+#: redirector.c:201 redirector.c:477
 #, fuzzy, c-format
 msgid "Invalid URL in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
@@ -1860,46 +1939,54 @@ msgstr "
 msgid "Invalid source IP in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: redirector.c:209 redirector.c:458
+#: redirector.c:209 redirector.c:461
 #, fuzzy, c-format
 msgid "Invalid user in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n"
 
-#: redirector.c:298
+#: redirector.c:281
+msgid "No redirector logs provided to produce that kind of report\n"
+msgstr ""
+
+#: redirector.c:300
 #, c-format
 msgid "Cannot open squidGuard config file: %s\n"
 msgstr "²»ÄÜ´ò¿ªsauidGuard ÅäÖÃÎļþ: %s\n"
 
-#: redirector.c:389
+#: redirector.c:391
 #, c-format
 msgid "%d more redirector entry not shown here&hellip;"
 msgid_plural "%d more redirector entries not shown here&hellip;"
 msgstr[0] ""
 
-#: redirector.c:441
+#: redirector.c:427
+msgid "Redirector report not generated because it is empty\n"
+msgstr ""
+
+#: redirector.c:444
 #, fuzzy, c-format
 msgid "Not enough memory to read the processed redirector log\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n"
 
-#: redirector.c:445 redirector.c:449
+#: redirector.c:448 redirector.c:452
 msgid "Redirector report"
 msgstr "Öض¨Ïò±¨¸æ"
 
-#: redirector.c:453
+#: redirector.c:456
 msgid "RULE"
 msgstr "¹æÔò"
 
-#: redirector.c:466 repday.c:97
+#: redirector.c:469 repday.c:97
 #, c-format
 msgid "Invalid time in file %s\n"
 msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
 
-#: redirector.c:470
+#: redirector.c:473
 #, fuzzy, c-format
 msgid "Invalid IP address in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: redirector.c:478
+#: redirector.c:481
 #, fuzzy, c-format
 msgid "Invalid rule in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
@@ -1938,8 +2025,13 @@ msgid ""
 "name\n"
 msgstr "²»ÄÜ´´½¨Êä³öÎļþ¼ÐÃû°üº¬ÆÚ¼äµÄ²¿·ÖÃû³Æ\n"
 
-#: report.c:102 report.c:121 report.c:253 report.c:414 report.c:459
-#: report.c:531 report.c:812
+#: report.c:95
+#, c-format
+msgid "outdirname=%s\n"
+msgstr ""
+
+#: report.c:102 report.c:121 report.c:253 report.c:438 report.c:483
+#: report.c:555 report.c:836
 #, c-format
 msgid "(report) Cannot open file %s\n"
 msgstr "(report) ²»ÄÜ´ò¿ªÎļþ %s\n"
@@ -1958,169 +2050,227 @@ msgstr "
 msgid "Site access report"
 msgstr "Õ¾µã·ÃÎʱ¨¸æ"
 
-#: report.c:386
+#: report.c:355
+msgid "Only the index is generated as requested\n"
+msgstr ""
+
+#: report.c:362
+msgid "Downloaded files report not requested in report_type\n"
+msgstr ""
+
+#: report.c:367
+msgid ""
+"Dansguardian report not produced because no dansguardian configuration file "
+"was provided\n"
+msgstr ""
+
+#: report.c:378
+msgid "Top sites report not requested in report_type\n"
+msgstr ""
+
+#: report.c:383
+msgid "Sites & users report not requested in report_type\n"
+msgstr ""
+
+#: report.c:388
+msgid "Denied accesses report not requested in report_type\n"
+msgstr ""
+
+#: report.c:393
+msgid "Authentication failures report not requested in report_type\n"
+msgstr ""
+
+#: report.c:405
+msgid "User's detailed report not requested in report_type\n"
+msgstr ""
+
+#: report.c:410
 #, c-format
 msgid "Successful report generated on %s\n"
 msgstr "³É¹¦µÄÉú³É±¨¸æÔÚ %s\n"
 
-#: report.c:391
+#: report.c:415
 #, c-format
 msgid "Successful report generated and sent to %s\n"
 msgstr "³É¹¦µÄ±¨¸æÉú³É²¢·¢ËÍÖÁ %s\n"
 
-#: report.c:407
+#: report.c:431
 #, c-format
 msgid "Making file: %s/%s\n"
 msgstr "Éú³ÉÎļþ: %s/%s\n"
 
-#: report.c:409 report.c:454
+#: report.c:433 report.c:478
 #, c-format
 msgid "Temporary file name too long: %s/%s.utmp\n"
 msgstr "ÁÙʱÎļþÃû¹ý³¤: %s/%s.utmp\n"
 
-#: report.c:432
+#: report.c:456
 #, c-format
 msgid "Temporary file name too long: %s/%s.htmp\n"
 msgstr "ÁÙʱÎļþÃû¹ý³¤: %s/%s.htmp\n"
 
-#: report.c:437
+#: report.c:461
 #, c-format
 msgid "(report-1) Cannot open file %s - %s\n"
 msgstr "(report-1) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
 
-#: report.c:494
+#: report.c:518
 #, c-format
 msgid "Path too long %s/%s.htmp\n"
 msgstr "·¾¶¹ý³¤ %s/%s.htmp\n"
 
-#: report.c:499
+#: report.c:523
 #, c-format
 msgid "(report-2) Cannot open file %s - %s\n"
 msgstr "(report-2)²»ÄÜ´ò¿ªÎļþ %s - %s\n"
 
-#: report.c:526
+#: report.c:550
 #, c-format
 msgid "Path too long %s/%s.ip\n"
 msgstr "·¾¶¹ý³¤ %s/%s.ip\n"
 
-#: report.c:554
+#: report.c:578
 #, fuzzy, c-format
 msgid "Failed to write a line in %s\n"
 msgstr "дÈëµÚÒ»ÐÐʱʧ°Ü %s\n"
 
-#: report.c:576
+#: report.c:600
 #, c-format
 msgid "Failed to write the total line in %s\n"
 msgstr "дÈëµÚÒ»ÐÐʱʧ°Ü %s\n"
 
-#: report.c:602
+#: report.c:626
 #, c-format
 msgid "Invalid total number of accesses in %s\n"
 msgstr "²»´æÔڵķÃÎÊ×ÜÊýÔÚ %s\n"
 
-#: report.c:619
+#: report.c:643
 #, c-format
 msgid "Invalid total size in %s\n"
 msgstr "²»´æÔÚµÄ×Ü´óСÔÚ %s\n"
 
-#: report.c:636
+#: report.c:660
 #, c-format
 msgid "Invalid total elapsed time in %s\n"
 msgstr "²»´æÔÚ×ܵĹýȥʱ¼äÔÚ %s\n"
 
-#: report.c:653
+#: report.c:677
 #, c-format
 msgid "Invalid total cache hit in %s\n"
 msgstr "²»´æÔڵĻº´æÃüÖÐ×ÜÊý %s\n"
 
-#: report.c:670
+#: report.c:694
 #, c-format
 msgid "Invalid total cache miss in %s\n"
 msgstr "²»´æÔڵĻº´æδÃüÖÐ×ÜÊý %s\n"
 
-#: report.c:680
+#: report.c:704
 #, c-format
 msgid "User name too long or invalid in %s\n"
 msgstr "Óû§Ãû¹ý³¤»òÕß²»´æÔÚ %s\n"
 
-#: report.c:696
+#: report.c:720
 #, c-format
 msgid "Invalid number of accesses in %s\n"
 msgstr "²»´æÔڵķÃÎÊÊý %s\n"
 
-#: report.c:713
+#: report.c:737
 #, c-format
 msgid "Invalid number of bytes in %s\n"
 msgstr "²»´æÔÚ×Ö½ÚÊýz %s\n"
 
-#: report.c:722
+#: report.c:746
 #, c-format
 msgid "URL too long or invalid in %s\n"
 msgstr "Á¬½Ó¹ý³¤»ò²»´æÔÚ %s\n"
 
-#: report.c:730
+#: report.c:754
 #, c-format
 msgid "IP address too long or invalid in %s\n"
 msgstr "IPµØÖ·¹ý³¤»ò²»´æÔÚ %s\n"
 
-#: report.c:738
+#: report.c:762
 #, c-format
 msgid "Time too long or invalid in %s\n"
 msgstr "ʱ¼ä¹ý³¤»ò²»´æÔÚ %s\n"
 
-#: report.c:746
+#: report.c:770
 #, c-format
 msgid "Date too long or invalid in %s\n"
 msgstr "ÈÕÆÚ¹ý³¤»ò²»´æÔÚz %s\n"
 
-#: report.c:762
+#: report.c:786
 #, c-format
 msgid "Invalid elapsed time in %s\n"
 msgstr "²»´æÔڵĵĹýȥʱ¼äÔÚ %s\n"
 
-#: report.c:779
+#: report.c:803
 #, c-format
 msgid "Invalid cache hit size in %s\n"
 msgstr "²»´æÔڵĻº´æÃüÖдóСÔÚ %s\n"
 
-#: report.c:796
+#: report.c:820
 #, c-format
 msgid "Invalid cache miss size in %s\n"
 msgstr "²»´æÔÚ»º´æδÃüÖдóСÔÚ %s\n"
 
-#: siteuser.c:74 siteuser.c:80
+#: siteuser.c:54
+msgid "Sites and users report not generated because privacy option is on\n"
+msgstr ""
+
+#: siteuser.c:76 siteuser.c:82
 #, c-format
 msgid "(siteuser) Cannot open log file %s\n"
 msgstr "(siteuser) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 
-#: siteuser.c:84 siteuser.c:88 topuser.c:211
+#: siteuser.c:86 siteuser.c:90 topuser.c:211
 msgid "Sites & Users"
 msgstr "Õ¾µã & Óû§"
 
-#: siteuser.c:107
+#: siteuser.c:109
 #, c-format
 msgid "ERROR: Cannot load. Memory fault\n"
 msgstr "´íÎó: ²»ÄÜÔØÈë. ÄÚ´æ´íÎó \n"
 
+#: smartfilter.c:62
+#, fuzzy, c-format
+msgid "File name too long: %s/smartfilter.unsort"
+msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
+
 #: smartfilter.c:66
+#, fuzzy, c-format
+msgid "File name too long: %s/sarg-sites"
+msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
+
+#: smartfilter.c:70
+#, fuzzy, c-format
+msgid "File name too long: %s/smartfilter.log"
+msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
+
+#: smartfilter.c:74
+#, fuzzy, c-format
+msgid "File name too long: %s/smartfilter.html"
+msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n"
+
+#: smartfilter.c:79
 #, c-format
 msgid "cannot build the sort command to sort file %s\n"
 msgstr "²»Äܹ¹½¨ÅÅÐòÃüÁîÀ´ÅÅÐòÎļþ %s\n"
 
-#: smartfilter.c:76 smartfilter.c:86
+#: smartfilter.c:89 smartfilter.c:99
 #, c-format
 msgid "(smartfilter) Cannot open log file %s\n"
 msgstr "(smartfilter)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 
-#: smartfilter.c:132 smartfilter.c:186 smartfilter.c:196 util.c:1541
+#: smartfilter.c:145 smartfilter.c:199 smartfilter.c:209 util.c:1603
 msgid "Generated by"
 msgstr "ÓÉ Éú³É"
 
-#: smartfilter.c:132 smartfilter.c:186 smartfilter.c:196 util.c:1541
+#: smartfilter.c:145 smartfilter.c:199 smartfilter.c:209 util.c:1603
 msgid "on"
 msgstr "on"
 
-#: smartfilter.c:138
+#: smartfilter.c:151
 #, c-format
 msgid "(smartfilter) Cannot open file %s\n"
 msgstr "(smartfilter) ²»ÄÜ´ò¿ªÎļþ %s\n"
@@ -2186,36 +2336,40 @@ msgstr "(splitlog) 
 msgid "(splitlog) Cannot open output log file %s - %s\n"
 msgstr "(splitlog) ÎÞ·¨´ò¿ªÈÕÖ¾Îļþ %s\n"
 
-#: topsites.c:94 topsites.c:100 topsites.c:209 topsites.c:220
+#: topsites.c:70
+msgid "Top sites report not produced because privacy option is on\n"
+msgstr ""
+
+#: topsites.c:96 topsites.c:102 topsites.c:211 topsites.c:222
 #, c-format
 msgid "(topsites) Cannot open log file %s\n"
 msgstr "(topsites) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 
-#: topsites.c:173
+#: topsites.c:175
 #, c-format
 msgid "Total statistics mismatch when reading %s to produce the top sites\n"
 msgstr ""
 
-#: topsites.c:224 topuser.c:210
+#: topsites.c:226 topuser.c:210
 msgid "Top sites"
 msgstr "ÈÈÃÅÕ¾µã"
 
-#: topsites.c:229
+#: topsites.c:231
 #, c-format
 msgid "Top %d sites"
 msgstr "ÈÈÃÅ %d Õ¾µã"
 
-#: topsites.c:260
+#: topsites.c:262
 #, c-format
 msgid "The url is invalid in file %s\n"
 msgstr "Õâ¸öÁ¬½Ó²»´æÔÚÔÚÎļþ %s\n"
 
-#: topuser.c:71 topuser.c:77 topuser.c:182 topuser.c:193 topuser.c:454
+#: topuser.c:71 topuser.c:77 topuser.c:182 topuser.c:193 topuser.c:455
 #, c-format
 msgid "(topuser) Cannot open file %s\n"
 msgstr "(topuser) ²»ÄÜ´ò¿ªÎļþ %s\n"
 
-#: topuser.c:85 util.c:689
+#: topuser.c:85 util.c:751
 #, c-format
 msgid "Not enough memory to read the file %s\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Îļþ %s\n"
@@ -2256,48 +2410,52 @@ msgstr "
 msgid "Useragent"
 msgstr "Óû§´úÀí"
 
-#: topuser.c:272
+#: topuser.c:225
+msgid "No top users report because it is not configured in report_type\n"
+msgstr ""
+
+#: topuser.c:273
 #, c-format
 msgid "There is a broken user in file %s\n"
 msgstr "Óв»ÍêÕûµÄÓû§ÔÚÎļþ %s\n"
 
-#: topuser.c:284
+#: topuser.c:285
 #, c-format
 msgid "There is a broken elpased time in file %s\n"
 msgstr "Óв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÎļþ %s\n"
 
-#: topuser.c:288
+#: topuser.c:289
 #, c-format
 msgid "There is a broken in-cache size in file %s\n"
 msgstr "Óв»ÍêÕûµÄ in-cache ´óСÔÚÎļþ %s\n"
 
-#: topuser.c:292
+#: topuser.c:293
 #, c-format
 msgid "There is a broken out-of-cache size in file %s\n"
 msgstr "Óв»ÍêÕûµÄ out-of-cache ´óСÔÚÎļþ %s\n"
 
-#: topuser.c:320
+#: topuser.c:321
 msgid "Graphic"
 msgstr "ÊÓͼ"
 
-#: topuser.c:358
+#: topuser.c:359
 #, c-format
 msgid ""
 "The total of the in-cache and cache-miss is not 100%% at position %d (user "
 "%s)\n"
 msgstr ""
 
-#: topuser.c:409
+#: topuser.c:410
 #, c-format
 msgid "The total of the in-cache and cache-miss is not 100%%\n"
 msgstr ""
 
-#: topuser.c:448
+#: topuser.c:449
 #, c-format
 msgid "Write error in top user list %s\n"
 msgstr "дÈë´íÎóÔÚÈÈÃÅÓû§Áбí %s\n"
 
-#: topuser.c:450
+#: topuser.c:451
 #, c-format
 msgid "Failed to close the top user list %s - %s\n"
 msgstr "¹Ø±Õ»îÔ¾Óû§Áбíʱʧ°Ü %s - %s\n"
@@ -2549,112 +2707,127 @@ msgstr "getword 
 msgid "Cannot parse again the line as it was modified\n"
 msgstr "²»ÄÜÔٴνâÎöÒòΪËüÒѾ­±»ÐÞ¸Ä\n"
 
-#: util.c:218
+#: util.c:187
+#, c-format
+msgid "Integer overflow detected in getword_atoll in line %s\n"
+msgstr ""
+
+#: util.c:226
+#, c-format
+msgid "Integer overflow detected in getword_atoi in line %s\n"
+msgstr ""
+
+#: util.c:263
 #, c-format
 msgid "Invalid buffer passed to getword_ptr\n"
 msgstr "²»´æÔڵĻº³åÇø´«µÝ¸ø getword_ptr\n"
 
-#: util.c:272
+#: util.c:317
 #, c-format
 msgid "Invalid path (%s). Please, use absolute paths only.\n"
 msgstr ""
 "²»´æÔڵķ¾¶ (%s).\n"
 " Çë½öʹÓþø¶Ô·¾¶.\n"
 
-#: util.c:273 util.c:288 util.c:300
+#: util.c:318 util.c:333 util.c:345
 #, c-format
 msgid "process aborted.\n"
 msgstr "½ø³ÌÖÐÖ¹.\n"
 
-#: util.c:280
+#: util.c:325
 #, c-format
 msgid "directory name too long: %s\n"
 msgstr "Îļþ¼ÐÃû¹ý³¤: %s\n"
 
-#: util.c:316
+#: util.c:361
 #, c-format
 msgid ""
 "The requested number of digits passed to my_lltoa (%d) is bigger than the "
 "output buffer size (%d)\n"
 msgstr "´«µÝ¸ømy_lltoa (%d) ÊýλҪÇó´óÓÚÊä³ö»º´æ´óС (%d)\n"
 
-#: util.c:391
+#: util.c:436
 msgid ""
 "January,February,March,April,May,June,July,August,September,October,November,"
 "December"
 msgstr "Ò»ÔÂ,¶þÔÂ,ÈýÔÂ,ËÄÔÂ,ÎåÔÂ,ÁùÔÂ,ÆßÔÂ,°ËÔÂ,¾ÅÔÂ,Ê®ÔÂ,ʮһÔÂ,Ê®¶þÔÂ"
 
-#: util.c:410
+#: util.c:461
 msgid "SARG: "
 msgstr "SARG: "
 
-#: util.c:601
+#: util.c:478
+#, fuzzy
+msgid "SARG: (info) "
+msgstr "SARG: "
+
+#: util.c:663
 #, c-format
 msgid "Failed to read the date in %s\n"
 msgstr "¶ÁÈ¡ÈÕÆÚʧ°Ü %s\n"
 
-#: util.c:657
+#: util.c:719
 #, c-format
 msgid "Failed to read the number of users in %s\n"
 msgstr "¶ÁÈ¡Óû§Êýʧ°Ü %s\n"
 
-#: util.c:702
+#: util.c:764
 #, c-format
 msgid "There is a invalid user in file %s\n"
 msgstr "Óв»´æÔÚµÄÓû§ÔÚÎļþ %s\n"
 
-#: util.c:708
+#: util.c:770
 #, c-format
 msgid "There a broken total number of access in file %s\n"
 msgstr "Óв»ÍêÕûµÄ·ÃÎÊ×ÜÊýÔÚÎļþ %s\n"
 
-#: util.c:869
+#: util.c:931
 #, c-format
 msgid "Cannot copy images to target directory %simages\n"
 msgstr "²»ÄÜ¿½±´¾µÏñµ½Ä¿±êÎļþ¼Ð %simages\n"
 
-#: util.c:882
+#: util.c:944
 #, c-format
 msgid "(util) Can't open directory %s: %s\n"
 msgstr "(util) ²»ÄÜ´ò¿ªÎļþ¼Ð %s: %s\n"
 
-#: util.c:890
+#: util.c:952
 #, c-format
 msgid "Cannot stat \"%s\" - %s\n"
 msgstr "²»ÄÜ¿ªÊ¼ \"%s\" - %s\n"
 
-#: util.c:901
+#: util.c:963
 #, c-format
 msgid "Failed to copy image %s to %s\n"
 msgstr "¿½±´¾µÏñʧ°Ü %s µ½  %s\n"
 
-#: util.c:907 util.c:910
+#: util.c:969 util.c:972
 msgid "Cannot open file"
 msgstr "²»ÄÜ´ò¿ªÎļþ"
 
-#: util.c:997 util.c:1020
+#: util.c:1059 util.c:1082
 #, c-format
 msgid "File %s already exists, moved to %s\n"
 msgstr "Îļþ %s ÒѾ­´æÔÚ, Òƶ¯ÖÁ %s\n"
 
-#: util.c:1038
+#: util.c:1100
 #, c-format
 msgid "cannot open %s for writing\n"
 msgstr "²»ÄÜ´ò¿ªÎļþ %s À´Ð´Èë\n"
 
-#: util.c:1047 util.c:1052
+#: util.c:1109 util.c:1114
 #, c-format
 msgid "Failed to write the date in %s\n"
 msgstr "дÈëʱ¼äʱʧ°ÜÔÚw %s\n"
 
-#: util.c:1133
+#: util.c:1195
 #, c-format
 msgid ""
 "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/"
 "mm/yyyy\n"
 msgstr "×÷Ϊ²ÎÊýʱÈÕÆÚ¸ñʽ²»ÄÜΪdd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy\n"
 
-#: util.c:1138 util.c:1142
+#: util.c:1200 util.c:1204
 #, c-format
 msgid ""
 "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/"
@@ -2662,117 +2835,117 @@ msgid ""
 msgstr ""
 "×÷Ϊ²ÎÊýµÄÈÕÆÚÇø¼ä¸ñʽ²»ÄÜΪdd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy-dd/mm/yyyy\n"
 
-#: util.c:1155
+#: util.c:1217
 #, c-format
 msgid "Failed to get the current time\n"
 msgstr "µÃµ½×¼È·Ê±¼äʱʧ°Ü\n"
 
-#: util.c:1160
+#: util.c:1222
 #, c-format
 msgid "Invalid number of days in -d parameter\n"
 msgstr "ÎÞЧµÄÈÕÆÚÊý×ÖÔÚʹÓà-d ²ÎÊýʱ\n"
 
-#: util.c:1166 util.c:1190 util.c:1197 util.c:1206 util.c:1219
+#: util.c:1228 util.c:1252 util.c:1259 util.c:1268 util.c:1281
 #, c-format
 msgid "Cannot convert local time: %s\n"
 msgstr "²»ÄÜת»»±¾µØʱ¼ä: %s\n"
 
-#: util.c:1185
+#: util.c:1247
 #, c-format
 msgid "Invalid number of weeks in -d parameter\n"
 msgstr "ÎÞЧµÄÖÜÊý×ÖÔÚʹÓà-d ²ÎÊýʱ\n"
 
-#: util.c:1214
+#: util.c:1276
 #, c-format
 msgid "Invalid number of months in -d parameter\n"
 msgstr "ÎÞЧµÄÔ·ÝÊý×ÖÔÚʹÓà-d ²ÎÊýʱ\n"
 
-#: util.c:1248
+#: util.c:1310
 #, fuzzy, c-format
 msgid "Invalid date range passed on command line\n"
 msgstr "±äÁ¿´«µÝµÄÈÕÆÚ·¶Î§ÎÞЧ\n"
 
-#: util.c:1299
+#: util.c:1361
 #, c-format
 msgid "Purging temporary file sarg-general\n"
 msgstr "Çå³þÁÙʱÎļþsarg-general\n"
 
-#: util.c:1302
+#: util.c:1364
 #, c-format
 msgid "(removetmp) directory too long to remove %s/sarg-period\n"
 msgstr "(removetmp) Îļþ¼ÐÌ«³¤²»Äܱ»É¾³ý %s/sarg-period\n"
 
-#: util.c:1306
+#: util.c:1368
 #, c-format
 msgid "(removetmp) Cannot open file %s\n"
 msgstr "(removetmp) ²»ÄÜ´ò¿ªÎļþ %s\n"
 
-#: util.c:1311
+#: util.c:1373
 #, c-format
 msgid "Failed to close %s after writing the total line - %s\n"
 msgstr "дÈëËùÓÐÐÐÖ®ºó¹Ø±Õ %s Ê±Ê§°Ü - %s\n"
 
-#: util.c:1328
+#: util.c:1390
 #, c-format
 msgid "(util) Cannot open file %s (exclude_codes)\n"
 msgstr "(util)²»ÄÜ´ò¿ªÎļþ %s (exclude_codes)\n"
 
-#: util.c:1333
+#: util.c:1395
 #, c-format
 msgid "Failed to move till the end of the excluded codes file %s: %s\n"
 msgstr "ÔÚÅųý´úÂëÎļþ֮ǰ²»ÄÜÒƶ¯¸ÃÎļþ %s: %s\n"
 
-#: util.c:1342
+#: util.c:1404
 #, c-format
 msgid "Failed to rewind the excluded codes file %s: %s\n"
 msgstr "תÏòÅųý´úÂëÎļþʱʧ°Ü %s: %s\n"
 
-#: util.c:1359
+#: util.c:1421
 #, c-format
 msgid "Too many codes to exclude in file %s\n"
 msgstr "ÔÚÎļþÖйý¶àµÄ±àÂë±»Åųý %s\n"
 
-#: util.c:1513
+#: util.c:1575
 #, c-format
 msgid "Cannot get disk space because the path %s%s is too long\n"
 msgstr "²»ÄÜ»ñÈ¡´ÅÅÌ¿Õ¼äÒòΪ·¾¶ %s%s ¹ý³¤\n"
 
-#: util.c:1517
+#: util.c:1579
 #, c-format
 msgid "Cannot get disk space with command %s\n"
 msgstr "²»Äܵõ½´ÅÅÌ¿Õ¼äʹÓÃÃüÁî %s\n"
 
-#: util.c:1521
+#: util.c:1583
 #, c-format
 msgid "Cannot get disk size with command %s\n"
 msgstr "²»ÄÜ»ñÈ¡´ÅÅÌ´óСʹÓÃÃüÁî %s\n"
 
-#: util.c:1526
+#: util.c:1588
 #, c-format
 msgid "The command %s failed\n"
 msgstr "ÃüÁî %s Ê§°Ü\n"
 
-#: util.c:1707
+#: util.c:1769
 #, c-format
 msgid "SARG Version: %s\n"
 msgstr "SARG°æ±¾: %s\n"
 
-#: util.c:1739
+#: util.c:1801
 #, c-format
 msgid "directory name to delete too long: %s/%s\n"
 msgstr "Îļþ¼ÐÃû³ÆÌ«³¤²»ÄÜɾ³ý: %s/%s\n"
 
-#: util.c:1748
+#: util.c:1810
 #, c-format
 msgid "cannot stat %s\n"
 msgstr "²»ÄÜ¿ªÊ¼ %s\n"
 
-#: util.c:1753 util.c:1766
+#: util.c:1815 util.c:1828
 #, c-format
 msgid "cannot delete %s - %s\n"
 msgstr " ²»ÄÜɾ³ý %s - %s\n"
 
-#: util.c:1759
+#: util.c:1821
 #, c-format
 msgid "unknown path type %s\n"
 msgstr "δ֪µÄ·¾¶ÀàÐÍ %s\n"
@@ -2865,9 +3038,6 @@ msgstr "δ֪
 #~ msgid "(authfail) read error in %s\n"
 #~ msgstr "(authfail) ¶ÁÈ¡´íÎó%s\n"
 
-#~ msgid "(dansguardian_report) Cannot open file %s\n"
-#~ msgstr "£¨dansguardian_report£©ÎÞ·¨´ò¿ªÎļþ%s\n"
-
 #~ msgid "(dansguardian_report) read error in %s\n"
 #~ msgstr "£¨dansguardian_report£©%s¶ÁÈ¡´íÎó\n"