]> git.ipfire.org Git - thirdparty/sarg.git/commitdiff
Update the copyright year in every source file
authorFrederic Marchal <fmarchal@users.sourceforge.net>
Sun, 26 Apr 2015 07:32:16 +0000 (09:32 +0200)
committerFrederic Marchal <fmarchal@users.sourceforge.net>
Sun, 26 Apr 2015 07:32:16 +0000 (09:32 +0200)
I join a script to automatically update the year.

53 files changed:
alias.c
auth.c
authfail.c
btree_cache.c
convlog.c
css.c
dansguardian_log.c
dansguardian_report.c
datafile.c
decomp.c
denied.c
dichotomic.c
download.c
email.c
exclude.c
filelist.c
fnmatch.c
getconf.c
grepday.c
html.c
index.c
indexonly.c
ip2name.c
ip2name_dns.c
ip2name_exec.c
lastlog.c
log.c
longline.c
po/zh_CN.po
readlog.c
readlog_common.c
readlog_extlog.c
readlog_sarg.c
readlog_squid.c
realtime.c
redirector.c
repday.c
report.c
siteuser.c
smartfilter.c
sort.c
splitlog.c
stringbuffer.c
topsites.c
topuser.c
totday.c
updatecyear.sh [new file with mode: 0644]
url.c
usage.c
useragent.c
userinfo.c
usertab.c
util.c

diff --git a/alias.c b/alias.c
index 8faa64bfe3691cc6a51e78669cfef2b0a82da904..c4b94f967db6b8c98f69c39413adb6c2251844d4 100644 (file)
--- a/alias.c
+++ b/alias.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
diff --git a/auth.c b/auth.c
index ed043b5c6862e257da916b9aec8575da91c53a81..52513b2508500e80e2ee34f553686a42303d8088 100644 (file)
--- a/auth.c
+++ b/auth.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 467fd42be75b4d3a35882f480df6efa8a6bdc155..c2e8ce3db6df44b2a5f6c1ca01042294dc29f7f2 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index bdc506fb3f8c2f817c38722468bde2ce89a13ed8..18d2007edc39b5c936d2b04e73ec71ebaff0f3f6 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 170b9f414bc56d9ee26deeada22f41fc260ca8e8..9673d96704c3c3443f2e9ec125bb776387aa3294 100644 (file)
--- a/convlog.c
+++ b/convlog.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
diff --git a/css.c b/css.c
index a5d0541459c48bf57250bdc3f48df911a06eb322..35d79da9055827f6c08cc3d548df38ec370ee553 100644 (file)
--- a/css.c
+++ b/css.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 54dff8cb2f65dc3a6c9ae52ba15187280c0c2d66..7004a2e6da0669ae60b3a6edc1784bfeef575c7a 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index f76878207fbddb8363616b479b2ef1fe0a09bfb0..466fc19f0b0272737efa35aaf355dd7ab3f9727d 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index c8489c7083a0a9b5a79d0783cec465bd0c5f7682..020e0b4f99ee80f1371dbd4feb16201d29ffcf36 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index a3e6b8267fd80c14a80eb264a5a384e42601b58e..46813f17ad84f2b1649e06834e1d97b63f0c8a09 100644 (file)
--- a/decomp.c
+++ b/decomp.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 8b621dec72ba3bec250171821c63d36347fd8a73..daa071ee4360e48921c2e315e95892a16de3b833 100644 (file)
--- a/denied.c
+++ b/denied.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 8eb89805b200cc95a102c6000acacc9d02af87ca..b6c777f765e8ea86ca3438d10d5aa69000e5ecc2 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index b3ae0c1544d18137b2a5cdc0b34039c6bb061cc7..10145c615a7c55c6028f10e3cbd35e3675ea7463 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
diff --git a/email.c b/email.c
index 2055a632f433344a0a7c6e51d9a1d311259ab503..e375fc3ef3721e8b0424a9a9cfe34b9fa444da97 100644 (file)
--- a/email.c
+++ b/email.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index edb2aa22d134331e8b447818f5d9a1592cde48e0..cc6aa4427c55939cd5b69902a50d5fb28901bca0 100644 (file)
--- a/exclude.c
+++ b/exclude.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 60cabc8958bb3a17fcfd67707b51978685f330d2..fb4316514273fb4b0a3f93ad08b08ba91fd3eb5e 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 3760dcf7a8f8bc865bc7bfe51ef2a751ab8e920d..c3773adb2368806c01a2beb9b8cece6bbbec6885 100644 (file)
--- a/fnmatch.c
+++ b/fnmatch.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 67fdf389f16647463b01ecf831ea4b1875084ff6..4c6dfeefa57380f9bc0263995f1f26303ff57e9a 100644 (file)
--- a/getconf.c
+++ b/getconf.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 5ae9acc8672afcb463652cc517710b7fc94fbce2..87449a2dbcd63a37cf141b8ae75a1f0c1add2984 100644 (file)
--- a/grepday.c
+++ b/grepday.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
diff --git a/html.c b/html.c
index 360c2a820ff9c60f531795cba868883ef228a3f8..329d16014c513cc490b3e75f5aa453f582541b0f 100644 (file)
--- a/html.c
+++ b/html.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
diff --git a/index.c b/index.c
index feb44db5c91844470a4c8fa7965c8d47a5a78876..8b49c7a3f327d3e26238cac7798d3c079c0e9b9a 100644 (file)
--- a/index.c
+++ b/index.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index bf9a7e93de2e4c64d44a8094c1b29fe5e69fb5f6..24d219687e0b04efd188f287bba8c2053625be45 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 2f822120af198915519ce9039f6a63fcfd677a79..f201f5f348cf9cb83fd37ce3eb37061bfcf25dca 100644 (file)
--- a/ip2name.c
+++ b/ip2name.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index dd293c89c29680680dba7fb2c1ec53dac7a82d2c..f735c34465eb22cbb0b04b55737aaeb1ecbea4d2 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index b95d0a62d091af62c9e9f238b0f029f9209337e2..71bbd61bd8656bb7a87e510bfa756be92187e1cb 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 1bd18f2662db376cc464160ff0b510e07e5b4235..7e174074f4fa1808d8ec5d6e0362f3af2f4daaad 100644 (file)
--- a/lastlog.c
+++ b/lastlog.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2014
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
diff --git a/log.c b/log.c
index dc14bef3c2a6663717ed3fd4869fde7b5bc5cdbe..05cf18d398cc77a3a0fd31ce0a586c78973bec8e 100644 (file)
--- a/log.c
+++ b/log.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index e1de8d6e5b0703b059d93ab7fcc7ee060a0c75f9..e77f3dfc1b143ccaf6ec873ead562566fe071374 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 7a45eb748acf56cc0dbc419345797782c812d01c..dcac2c8fa1b179e3f8b92726f44db3b7e470a5e7 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: 2014-09-21 11:18+0200\n"
+"POT-Creation-Date: 2015-04-26 09:08+0200\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"
@@ -17,186 +17,215 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: auth.c:42
-#, c-format
-msgid "File name too long: %s/%s/.htaccess\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s/.htaccess\n"
+#: auth.c:42 datafile.c:89 html.c:73 html.c:79 html.c:126 html.c:155
+#: html.c:160 html.c:379 index.c:151 index.c:254 index.c:263 index.c:414
+#: index.c:423 index.c:494 index.c:604 lastlog.c:301 repday.c:65 report.c:127
+#: report.c:451 report.c:499 report.c:787 smartfilter.c:56 smartfilter.c:61
+#: smartfilter.c:66 smartfilter.c:71 sort.c:66 sort.c:71 splitlog.c:70
+#: totday.c:154 totday.c:201 util.c:428 util.c:1730 util.c:2186 util.c:2280
+#: util.c:2323
+#, fuzzy, c-format
+msgid "Path too long: "
+msgstr "·¾¶¹ý³¤ %s/%s.ip\n"
 
-#: auth.c:46
-#, c-format
-msgid "(auth) Cannot open file: %s - %s\n"
-msgstr "(auth) ²»ÄÜ´ò¿ªÎļþ: %s - %s\n"
+#: auth.c:47 auth.c:52 authfail.c:56 authfail.c:161 authfail.c:172
+#: convlog.c:46 dansguardian_log.c:56 dansguardian_log.c:61
+#: dansguardian_log.c:66 dansguardian_log.c:94 dansguardian_report.c:72
+#: dansguardian_report.c:77 datafile.c:95 datafile.c:151 denied.c:56
+#: denied.c:173 denied.c:178 download.c:74 download.c:208 download.c:213
+#: email.c:61 email.c:67 email.c:151 email.c:157 email.c:275 exclude.c:196
+#: exclude.c:203 exclude.c:320 getconf.c:969 grepday.c:619 grepday.c:689
+#: grepday.c:734 html.c:150 html.c:222 html.c:385 html.c:390 html.c:450
+#: html.c:596 index.c:305 index.c:465 index.c:591 index.c:768 log.c:445
+#: log.c:763 redirector.c:268 redirector.c:313 redirector.c:325
+#: redirector.c:330 redirector.c:468 redirector.c:473 repday.c:71 repday.c:127
+#: report.c:107 report.c:132 report.c:255 report.c:457 report.c:505
+#: report.c:793 siteuser.c:76 siteuser.c:82 smartfilter.c:87 smartfilter.c:97
+#: smartfilter.c:154 splitlog.c:83 splitlog.c:123 topsites.c:97 topsites.c:103
+#: topsites.c:225 topsites.c:236 topuser.c:46 topuser.c:92 topuser.c:98
+#: topuser.c:211 topuser.c:222 totday.c:160 useragent.c:65 useragent.c:70
+#: useragent.c:149 useragent.c:161 useragent.c:235 useragent.c:246
+#: useragent.c:307 usertab.c:79 util.c:1148 util.c:1154 util.c:1735
+#: util.c:1757
+#, fuzzy, c-format
+msgid "Cannot open file \"%s\": %s\n"
+msgstr " ²»ÄÜɾ³ý %s - %s\n"
 
-#: auth.c:51
-#, c-format
-msgid "(auth) Cannot open template file: %s - %s\n"
-msgstr "(auth) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s\n"
+#: auth.c:66 authfail.c:86 authfail.c:279 authfail.c:298
+#: dansguardian_log.c:152 dansguardian_report.c:173 datafile.c:202 denied.c:85
+#: denied.c:277 denied.c:294 download.c:105 download.c:308 download.c:456
+#: email.c:123 email.c:269 grepday.c:624 grepday.c:770 html.c:102 html.c:430
+#: html.c:609 html.c:648 index.c:348 index.c:518 index.c:637 redirector.c:386
+#: redirector.c:591 repday.c:251 report.c:355 report.c:370 report.c:484
+#: report.c:516 report.c:801 siteuser.c:197 smartfilter.c:148
+#: smartfilter.c:209 smartfilter.c:222 splitlog.c:113 splitlog.c:149
+#: topsites.c:181 topsites.c:331 topuser.c:51 topuser.c:163 topuser.c:261
+#: topuser.c:507 totday.c:183 useragent.c:126 useragent.c:283 useragent.c:345
+#: util.c:1144 util.c:1462 util.c:1740
+#, fuzzy, c-format
+msgid "Write error in \"%s\": %s\n"
+msgstr "ÔÚÎļþÖÐÓÐдÈë´íÎó %s\n"
+
+#: auth.c:70 authfail.c:268 convlog.c:82 dansguardian_log.c:86
+#: dansguardian_log.c:148 dansguardian_report.c:163 datafile.c:194
+#: denied.c:266 download.c:300 email.c:106 email.c:256 email.c:282
+#: exclude.c:228 exclude.c:357 getconf.c:984 grepday.c:724 html.c:434
+#: html.c:507 html.c:540 log.c:801 realtime.c:246 redirector.c:281
+#: redirector.c:380 redirector.c:571 repday.c:122 report.c:334 siteuser.c:179
+#: splitlog.c:144 topsites.c:166 topsites.c:323 topuser.c:144 topuser.c:430
+#: url.c:602 useragent.c:130 useragent.c:220 useragent.c:287 useragent.c:338
+#: userinfo.c:346 usertab.c:127 util.c:797 util.c:864 util.c:932 util.c:1150
+#: util.c:1797
+#, fuzzy, c-format
+msgid "Read error in \"%s\": %s\n"
+msgstr "ÔÚÎļþÖÐÓÐдÈë´íÎó %s\n"
+
+#: authfail.c:46
+msgid "Authentication failures report not produced as it is not requested\n"
+msgstr ""
+
+#: authfail.c:50
+msgid ""
+"Authentication failures report not produced because privacy option is "
+"active\n"
+msgstr ""
 
-#: authfail.c:34
+#: authfail.c:109
 #, c-format
 msgid "%d more authentication failure not shown here&hellip;"
 msgid_plural "%d more authentication failures not shown here&hellip;"
 msgstr[0] ""
 
-#: authfail.c:75 authfail.c:97 authfail.c:210 dansguardian_log.c:158
-#: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181
-#: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:682
-#: grepday.c:723 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495
-#: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:102 lastlog.c:140
-#: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403
-#: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185
-#: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185
-#: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152
-#: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832
-#: util.c:1845 util.c:1965
+#: authfail.c:141 authfail.c:305 denied.c:301 download.c:463
 #, fuzzy, c-format
-msgid "Cannot delete \"%s\": %s\n"
+msgid "Failed to delete \"%s\": %s\n"
 msgstr " ²»ÄÜɾ³ý %s - %s\n"
 
-#: authfail.c:77
+#: authfail.c:144
 msgid "Authentication failures report not produced because it is empty\n"
 msgstr ""
 
-#: authfail.c:87 dansguardian_log.c:153 download.c:70 email.c:140 html.c:393
-#: lastlog.c:96 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68
-#: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212
-#: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293
+#: authfail.c:148
+#, fuzzy, c-format
+msgid "Creating authentication failures report...\n"
+msgstr "ÈÏ֤ʧ°Ü"
+
+#: authfail.c:156 dansguardian_log.c:162 denied.c:160 download.c:145
+#: email.c:140 html.c:444 redirector.c:408 siteuser.c:70 smartfilter.c:82
+#: sort.c:86 sort.c:135 topsites.c:91 topsites.c:220 topuser.c:205
+#: useragent.c:144 useragent.c:230 useragent.c:302
 #, c-format
 msgid "sort command return status %d\n"
 msgstr "ÅÅÐòÃüÁî·µ»Ø״̬ %d\n"
 
-#: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71
-#: email.c:141 html.c:394 lastlog.c:97 log.c:1702 realtime.c:104
-#: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80
-#: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96
-#: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147
-#: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299
+#: authfail.c:157 authfail.c:162 dansguardian_log.c:163 denied.c:161
+#: download.c:146 email.c:141 html.c:445 redirector.c:409 siteuser.c:71
+#: siteuser.c:77 smartfilter.c:83 smartfilter.c:88 sort.c:87 sort.c:136
+#: topsites.c:92 topsites.c:98 topsites.c:221 topsites.c:226 topuser.c:206
+#: useragent.c:145 useragent.c:150 useragent.c:231 useragent.c:236
+#: useragent.c:303 useragent.c:308
 #, c-format
 msgid "sort command: %s\n"
 msgstr "ÅÅÐòÃüÁî: %s\n"
 
-#: authfail.c:92 authfail.c:102
-#, c-format
-msgid "(authfail) Cannot open file %s\n"
-msgstr "(authfail) ²»ÄÜ´ò¿ªÎļþ %s\n"
+#: authfail.c:166 authfail.c:284 dansguardian_log.c:167
+#: dansguardian_report.c:64 dansguardian_report.c:178 denied.c:142
+#: denied.c:165 denied.c:282 download.c:151 download.c:189 download.c:313
+#: email.c:146 email.c:260 html.c:111 html.c:373 html.c:455 html.c:513
+#: html.c:547 html.c:552 index.c:54 indexonly.c:50 lastlog.c:250
+#: redirector.c:415 redirector.c:596 report.c:361 siteuser.c:190
+#: smartfilter.c:92 smartfilter.c:228 sort.c:91 sort.c:145 topsites.c:193
+#: topsites.c:231 topuser.c:216 topuser.c:434 totday.c:207 useragent.c:155
+#: useragent.c:241 useragent.c:292 useragent.c:313 useragent.c:350 util.c:2201
+#: util.c:2214 util.c:2338
+#, fuzzy, c-format
+msgid "Cannot delete \"%s\": %s\n"
+msgstr " ²»ÄÜɾ³ý %s - %s\n"
 
-#: authfail.c:106 authfail.c:110 topuser.c:241
+#: authfail.c:176 authfail.c:180 topuser.c:252
 msgid "Authentication Failures"
 msgstr "ÈÏ֤ʧ°Ü"
 
-#: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144
-#: grepday.c:555 redirector.c:471 siteuser.c:86 smartfilter.c:107
-#: smartfilter.c:175 topsites.c:234 topuser.c:218
+#: authfail.c:178 dansguardian_report.c:83 denied.c:184 download.c:219
+#: grepday.c:555 redirector.c:484 siteuser.c:88 smartfilter.c:110
+#: smartfilter.c:182 topsites.c:242 topuser.c:229
 #, c-format
 msgid "Period: %s"
 msgstr "Çø¼ä: %s"
 
-#: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150
-#: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116
-#: smartfilter.c:183 topuser.c:269 useragent.c:175
+#: authfail.c:184 dansguardian_report.c:89 denied.c:190 download.c:225
+#: email.c:175 realtime.c:134 redirector.c:490 smartfilter.c:119
+#: smartfilter.c:190 topuser.c:283 useragent.c:178
 msgid "USERID"
 msgstr "Óû§ID"
 
-#: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150
-#: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183
+#: authfail.c:184 dansguardian_report.c:89 denied.c:190 download.c:225
+#: realtime.c:134 redirector.c:490 smartfilter.c:119 smartfilter.c:190
 msgid "IP/NAME"
 msgstr "IP/ÐÕÃû"
 
-#: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150
-#: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183
+#: authfail.c:184 dansguardian_report.c:89 denied.c:190 download.c:225
+#: realtime.c:134 redirector.c:490 smartfilter.c:119 smartfilter.c:190
 msgid "DATE/TIME"
 msgstr "ÈÕÆÚ/ʱ¼ä"
 
 #. TRANSLATORS: This is a column header showing the URL of the visited sites.
-#: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150
-#: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95
-#: smartfilter.c:116 smartfilter.c:183 topsites.c:250
+#: authfail.c:184 dansguardian_report.c:89 denied.c:190 download.c:225
+#: html.c:247 realtime.c:134 redirector.c:490 siteuser.c:97 smartfilter.c:119
+#: smartfilter.c:190 topsites.c:258
 msgid "ACCESSED SITE"
 msgstr "·ÃÎÊÕ¾µã"
 
-#: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110
-#: topsites.c:106 topsites.c:264
+#: authfail.c:187 email.c:75 html.c:170 html.c:395 html.c:462 siteuser.c:112
+#: topsites.c:108 topsites.c:272
 #, c-format
 msgid "Not enough memory to read file %s\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡Îļþ %s\n"
 
-#: authfail.c:124
+#: authfail.c:194
 #, c-format
 msgid "There is a broken date in file %s\n"
 msgstr "Óв»ÍêÕûµÄÈÕÆÚÔÚÎļþ %s\n"
 
-#: authfail.c:128
+#: authfail.c:198
 #, c-format
 msgid "There is a broken time in file %s\n"
 msgstr "Óв»ÍêÕûµÄʱ¼äÔÚÎļþÖР%s\n"
 
-#: authfail.c:132
+#: authfail.c:202
 #, c-format
 msgid "There is a broken user ID in file %s\n"
 msgstr "Óв»ÍêÕûµÄÓû§IDÔÚÎļþÖР%s\n"
 
-#: authfail.c:136
+#: authfail.c:206
 #, c-format
 msgid "There is a broken IP address in file %s\n"
 msgstr "Óв»ÍêÕûµÄIPµØÖ·ÔÚÎļþÖР%s\n"
 
-#: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238
+#: authfail.c:210 denied.c:205 download.c:240 html.c:195 html.c:283
 #, c-format
 msgid "There is a broken url in file %s\n"
 msgstr "Óв»ÍêÕûµÄÁ¬½ÓÔÚÎļþÖР%s\n"
 
-#: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508
-#: siteuser.c:119 smartfilter.c:129 topuser.c:332
+#: authfail.c:219 denied.c:214 download.c:249 email.c:212 redirector.c:521
+#: siteuser.c:121 smartfilter.c:132 topuser.c:351
 #, c-format
 msgid "Unknown user ID %s in file %s\n"
 msgstr "δ֪µÄÓû§ID %s ÔÚÎļþ %s\n"
 
-#: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
-#: grepday.c:767 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191
-#: topsites.c:319 useragent.c:332
-#, c-format
-msgid "Write error in file %s\n"
-msgstr "ÔÚÎļþÖÐÓÐдÈë´íÎó %s\n"
-
-#: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178
-#: download.c:231 grepday.c:769 html.c:588 redirector.c:576 repday.c:247
-#: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321
-#: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
-#, c-format
-msgid "Failed to close file %s - %s\n"
-msgstr "¹Ø±ÕÎļþʱʧ°Ü %s - %s\n"
-
-#: convlog.c:48
-#, fuzzy, c-format
-msgid "(convlog) Cannot open log file %s - %s\n"
-msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n"
-
-#: convlog.c:53 splitlog.c:89
+#: convlog.c:51 splitlog.c:88
 #, fuzzy, c-format
 msgid "Not enough memory to read the log file %s\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n"
 
-#: convlog.c:60
+#: convlog.c:58
 #, c-format
 msgid "Maybe you have a broken record or garbage in file %s\n"
 msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø´æÔÚÎļþ %s\n"
 
-#: dansguardian_log.c:56
-#, c-format
-msgid "Cannot open DansGuardian config file: %s\n"
-msgstr "²»ÄÜ´ò¿ª DansGuardian ÅäÖÃÎļþ: %s\n"
-
-#: 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:116 dansguardian_log.c:125
-#: dansguardian_report.c:95 lastlog.c:122 log.c:960 log.c:965 log.c:971
-#: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102
-#: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126
-#: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276
-#: useragent.c:83 useragent.c:106
+#: dansguardian_log.c:77 dansguardian_log.c:120 dansguardian_log.c:129
+#: dansguardian_report.c:95 topsites.c:279 topsites.c:284 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"
@@ -208,38 +237,37 @@ msgid ""
 "\"\n"
 msgstr "ÔÚÅäÖÃÎļþÖдæÔÚ¹ý¶àµÄÈÕÖ¾Îļþ\n"
 
-#: dansguardian_log.c:87
+#: dansguardian_log.c:91
 #, c-format
 msgid "Reading DansGuardian log file: %s\n"
 msgstr "¶ÁÈ¡ DansGuardian ÈÕÖ¾Îļþ: %s\n"
 
-#: dansguardian_log.c:100
+#: dansguardian_log.c:104
 #, fuzzy, c-format
 msgid "Invalid date found in your dansguardian log file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: dansguardian_log.c:104
+#: dansguardian_log.c:108
 #, fuzzy, c-format
 msgid "Invalid time found in your dansguardian log file %s\n"
 msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
 
-#: dansguardian_log.c:108
+#: dansguardian_log.c:112
 #, fuzzy, c-format
 msgid "Invalid user found in your dansguardian log file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: dansguardian_log.c:112
+#: dansguardian_log.c:116
 #, 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:99 html.c:360 log.c:975
-#: log.c:1073
+#: dansguardian_log.c:124 dansguardian_report.c:99 html.c:405
 #, c-format
 msgid "Maybe you have a broken url in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÁ¬½ÓÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: dansguardian_log.c:148 redirector.c:388 sort.c:75 useragent.c:132
+#: dansguardian_log.c:157 redirector.c:399 sort.c:77 useragent.c:135
 #, c-format
 msgid "Sorting file: %s\n"
 msgstr "ÕýÔÚÅÅÐòÎļþ: %s\n"
@@ -255,12 +283,7 @@ msgstr[0] ""
 msgid "Dansguardian report not generated because it is empty\n"
 msgstr "£¨dansguardian_report£©ÎÞ·¨´ò¿ªÎļþ%s\n"
 
-#: dansguardian_report.c:72 dansguardian_report.c:77
-#, c-format
-msgid "(dansguardian_report) Cannot open log file %s\n"
-msgstr "(dansguardian_report) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
-
-#: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237
+#: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:248
 msgid "DansGuardian"
 msgstr "DansGuardian"
 
@@ -273,92 +296,96 @@ msgstr "ԭ
 msgid "Maybe you have a broken rule in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¹æÔòÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: datafile.c:72 html.c:82 report.c:114
+#: datafile.c:73 html.c:121 report.c:121
 #, fuzzy, c-format
 msgid "Cannot enumerate the user list\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
 
-#: datafile.c:83
+#: datafile.c:85
 #, fuzzy, c-format
 msgid "Reading user file: %s/%s\n"
 msgstr "Éú³ÉÎļþ: %s/%s\n"
 
-#: datafile.c:87
-#, fuzzy, c-format
-msgid "(datafile) directory path too long: %s/%s.user_log\n"
-msgstr "(datafile) Îļþ¼Ð·¾¶Ì«³¤: %s/%s\n"
-
-#: datafile.c:92 datafile.c:148
-#, c-format
-msgid "(datafile) Cannot open file %s\n"
-msgstr "(datafile) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
-
-#: datafile.c:97
+#: datafile.c:100
 #, c-format
 msgid "Not enough memory to read the downloaded files.\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡ÒÑÏÂÔØÎļþ. \n"
 
-#: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123
+#: datafile.c:112 denied.c:201 download.c:236 report.c:176 smartfilter.c:126
 #, c-format
 msgid "There is a broken record or garbage in file %s\n"
 msgstr "Óв»ÍêÕûµÄ¼Í¼»òÀ¬»øÔÚÎļþ %s\n"
 
-#: datafile.c:113
+#: datafile.c:116
 #, c-format
 msgid "There is an invalid smart info in file %s\n"
 msgstr "ÓÐÎÞЧµÄÖÇÄÜÐÅÏ¢ÔÚÎļþ %s\n"
 
-#: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279
-#: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139
+#: datafile.c:135 datafile.c:180 report.c:213 report.c:298 report.c:324
+#: siteuser.c:141 topsites.c:122 topsites.c:141
 #, c-format
 msgid "Not enough memory to store the url\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥´æ´¢Á¬½Ó\n"
 
-#: datafile.c:198
+#: datafile.c:207
 #, c-format
 msgid "Datafile %s written successfully\n"
 msgstr "Êý¾ÝÎļþ %s Ð´Èë³É¹¦\n"
 
-#: decomp.c:36
-#, c-format
-msgid "File not found: %s\n"
-msgstr "δÕÒµ½Îļþ: %s\n"
-
-#: decomp.c:42 decomp.c:62
-#, c-format
-msgid "Decompressing log file \"%s\" with zcat\n"
+#. TRANSLATORS: The last %s is the command used to uncompress
+#. the log file such as zcat ou bzip2.
+#.
+#: decomp.c:61 decomp.c:70 decomp.c:79
+#, fuzzy, c-format
+msgid "Decompressing log file \"%s\" with %s\n"
 msgstr "½âѹËõÈÕÖ¾Îļþ \"%s\" Ê¹ÓÃzcat\n"
 
-#: decomp.c:44 decomp.c:54 decomp.c:64
+#: decomp.c:63 decomp.c:72 decomp.c:81
 #, c-format
 msgid "decompression command too long for log file %s\n"
 msgstr "½âѹÈÕÖ¾ÎļþÃüÁî¹ý³¤ %s\n"
 
-#: decomp.c:52
-#, c-format
-msgid "Decompressing log file \"%s\" with bzcat\n"
-msgstr "½âѹËõÎļþ \"%s\" Ê¹ÓÃbzcat\n"
+#: denied.c:46
+msgid "Denied report not produced as it is not requested\n"
+msgstr ""
 
-#: denied.c:34
+#: denied.c:50
+#, fuzzy
+msgid "Denied report not produced because privacy option is active\n"
+msgstr "£¨dansguardian_report£©ÎÞ·¨´ò¿ªÎļþ%s\n"
+
+#: denied.c:107
 #, c-format
 msgid "%d more denied access not shown here&hellip;"
 msgid_plural "%d more denied accesses not shown here&hellip;"
 msgstr[0] ""
 
-#: denied.c:69
+#: denied.c:144
 msgid "Denied report not produced because it is empty\n"
 msgstr ""
 
-#: denied.c:76 denied.c:81
-#, c-format
-msgid "(denied) Cannot open log file %s\n"
-msgstr "(denied)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+#: denied.c:148
+#, fuzzy, c-format
+msgid "Creating denied accesses report...\n"
+msgstr "Õ¾µã·ÃÎʱ¨¸æ"
+
+#: denied.c:151
+#, fuzzy, c-format
+msgid "Temporary directory path too long to sort the denied accesses\n"
+msgstr "ÁÙʱÎļþ¼ÐÃû³Æ¹ý³¤: %s\n"
+
+#: denied.c:155 email.c:135 html.c:439 redirector.c:403 siteuser.c:65
+#: sort.c:81 topsites.c:86 topsites.c:215 topuser.c:200 useragent.c:139
+#: useragent.c:225 useragent.c:297
+#, fuzzy, c-format
+msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n"
+msgstr "ѹËõÃüÁî¶ÔÓÚÈÕÖ¾Îļþ¹ý³¤ %s\n"
 
-#: denied.c:85 denied.c:89
+#: denied.c:182 denied.c:186
 msgid "Denied"
 msgstr "ÉùÃ÷"
 
-#: denied.c:96
+#: denied.c:193
 #, c-format
 msgid "Not enough memory to read the denied accesses\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡×èÖ¹·ÃÎÊ\n"
@@ -368,67 +395,56 @@ msgstr "û
 msgid "Not enough memory to store the key/value pair %s/%s\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
 
-#: download.c:65
-#, c-format
-msgid "Path too long to sort the file: %s/download.int_unsort\n"
-msgstr ""
+#: download.c:64
+#, fuzzy
+msgid "Download report not produced as it is not requested\n"
+msgstr "£¨dansguardian_report£©ÎÞ·¨´ò¿ªÎļþ%s\n"
 
-#: download.c:75
+#: download.c:68
+#, fuzzy
+msgid "Download report not produced because privacy option is active\n"
+msgstr "£¨dansguardian_report£©ÎÞ·¨´ò¿ªÎļþ%s\n"
+
+#: download.c:140
 #, fuzzy, c-format
-msgid "Path too long for %s/download.int_unsort\n"
-msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n"
+msgid "Path too long to sort the file: %s\n"
+msgstr "Óû§Ãû¹ý³¤ÎÞ·¨ÅÅÐò %s\n"
 
-#: download.c:114
+#: download.c:191
 #, fuzzy
 msgid "No downloaded files to report\n"
 msgstr "ÏÂÔغó׺Áбí¹ý³¤\n"
 
-#: download.c:125
-msgid "Sorted file doesn't exist (to produce the download report)\n"
-msgstr ""
-
-#: download.c:133 download.c:138
+#: download.c:196
 #, c-format
-msgid "(download) Cannot open log file %s\n"
-msgstr "(download) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+msgid "Creating download report...\n"
+msgstr ""
 
-#: download.c:142 download.c:146 topuser.c:239
+#: download.c:217 download.c:221 topuser.c:250
 msgid "Downloads"
 msgstr "ÏÂÔØ"
 
-#: download.c:153 report.c:156 topuser.c:293
+#: download.c:228 report.c:166 topuser.c:312
 #, c-format
 msgid "Not enough memory to read the downloaded files\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ\n"
 
-#: download.c:275
+#: download.c:354
 #, c-format
 msgid "Download suffix list too long\n"
 msgstr "ÏÂÔغó׺Áбí¹ý³¤\n"
 
-#: download.c:283
+#: download.c:362
 #, c-format
 msgid "Too many download suffixes\n"
 msgstr "¹ý¶àµÄÏÂÔغó׺\n"
 
-#: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269
-#, c-format
-msgid "(email) Cannot open file %s\n"
-msgstr "(email)²»ÄÜ´ò¿ªÎļþ %s\n"
-
 #: email.c:129
 #, c-format
 msgid "Total statistics mismatch when reading %s to produce the email report\n"
 msgstr ""
 
-#: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392
-#: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189
-#: 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:161 log.c:379
+#: email.c:161 log.c:283
 msgid "Squid User Access Report"
 msgstr "SquidÓû§·ÃÎʱ¨¸æ"
 
@@ -436,40 +452,42 @@ msgstr "Squid
 msgid "Decreasing Access (bytes)"
 msgstr "½µµÍ·ÃÎÊ(bytes)"
 
-#: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167
+#: email.c:169 html.c:227 repday.c:132 report.c:268 useragent.c:170
 msgid "Period"
 msgstr "ÆÚ¼ä"
 
 #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list.
-#: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260
+#: email.c:173 siteuser.c:95 topsites.c:254 topuser.c:274
 msgid "NUM"
 msgstr "Êý×Ö"
 
 #. TRANSLATORS: This is a column header showing the number of connections to a visited site.
-#: email.c:177 html.c:205 topsites.c:252 topuser.c:272
+#: email.c:177 html.c:250 topsites.c:260 topuser.c:291
 msgid "CONNECT"
 msgstr "Á¬½Ó"
 
 #. TRANSLATORS: This is a column header showing the number of transfered bytes.
-#: email.c:179 grepday.c:746 html.c:207 html.c:209 index.c:432 repday.c:140
-#: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276
+#: email.c:179 grepday.c:748 html.c:252 index.c:777 repday.c:145 siteuser.c:99
+#: topsites.c:262 topuser.c:293 topuser.c:295
 msgid "BYTES"
 msgstr "×Ö½Ú"
 
-#: email.c:181 grepday.c:759 html.c:213 topuser.c:280
+#: email.c:181 grepday.c:761 html.c:258 topuser.c:299
 msgid "ELAPSED TIME"
 msgstr "ÒÑʹÓÃʱ¼ä"
 
-#: email.c:183 html.c:215 topuser.c:282
+#: email.c:183 html.c:260 topuser.c:301
 msgid "MILLISEC"
 msgstr "ºÁÃë"
 
 #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests.
-#: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284
+#: email.c:185 topsites.c:264 topuser.c:303
+#, fuzzy
+msgctxt "duration"
 msgid "TIME"
 msgstr "ʱ¼ä"
 
-#: email.c:194 useragent.c:197
+#: email.c:194 useragent.c:200
 #, c-format
 msgid "There is an invalid user ID in file %s\n"
 msgstr "ÓÐÒ»¸ö²»´æÔÚµÄÓû§IDÔÚÎļþ %s\n"
@@ -489,33 +507,33 @@ msgstr "
 msgid "There is an invalid elapsed time in file %s\n"
 msgstr "ÓÐÒ»¸öÎÞЧµÄʱ¼äÖµ %s\n"
 
-#: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200
-#: repday.c:224 topuser.c:426 useragent.c:311
+#: email.c:231 email.c:233 html.c:560 repday.c:153 repday.c:177 repday.c:205
+#: repday.c:229 topuser.c:446 topuser.c:448 useragent.c:320
 msgid "TOTAL"
 msgstr "×ÜÖµ"
 
-#: email.c:247 html.c:564 index.c:432 topuser.c:460
+#: email.c:247 html.c:625 index.c:777 topuser.c:483 topuser.c:485
 msgid "AVERAGE"
 msgstr "ƽ¾ùÖµ"
 
 #. TRANSLATORS: The string is formatted using strftime. You can use
 #. any string formatting marker allowed by strftime.
-#: email.c:278
+#: email.c:288
 #, fuzzy, c-format
 msgid "SARG report, %c"
 msgstr "SARG ±¨¸æ %s"
 
-#: email.c:281
+#: email.c:291
 #, fuzzy, c-format
 msgid "Sending mail with command: %s\n"
 msgstr "ÃüÁî: %s\n"
 
-#: email.c:284 index.c:582 log.c:1684
+#: email.c:294 index.c:926
 #, c-format
 msgid "command return status %d\n"
 msgstr "ÃüÁî·µ»Ø״̬ %d\n"
 
-#: email.c:285 index.c:583 log.c:1685
+#: email.c:295 index.c:927
 #, c-format
 msgid "command: %s\n"
 msgstr "ÃüÁî: %s\n"
@@ -530,153 +548,158 @@ msgstr "û
 msgid "Not enough memory to store the excluded URLs\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢±»ÅųýµÄÁ¬½Ó\n"
 
-#: exclude.c:196
-#, c-format
-msgid "Cannot open exclude_hosts file: %s - %s\n"
-msgstr "²»ÄÜ´ò¿ªexclude_hostsÎļþ: %s-%s\n"
-
 #: exclude.c:200
 #, c-format
 msgid "Loading exclude host file from: %s\n"
 msgstr "ÔØÈë¾Ü¾øÖ÷»úÎļþ´Ó: %s\n"
 
-#: exclude.c:203 exclude.c:317
-#, c-format
-msgid "(gethexclude) Cannot open file %s - %s\n"
-msgstr "(gethexclude)²»ÄÜ´ò¿ªÎļþ %s - %s\n"
-
-#: exclude.c:214 url.c:594
+#: exclude.c:214 url.c:595 userinfo.c:339
 #, c-format
 msgid "While reading \"%s\"\n"
 msgstr ""
 
-#: exclude.c:314
+#: exclude.c:317
 #, c-format
 msgid "Loading exclude file from: %s\n"
 msgstr "ÔØÈëÅųýÎļþ´Ó: %s\n"
 
-#: exclude.c:322
+#: exclude.c:325
 #, c-format
 msgid "Failed to move till the end of the excluded users file %s: %s\n"
 msgstr "ÔÚÅųýÓû§Îļþ֮ǰ²»ÄÜÒƶ¯¸ÃÎļþ %s: %s\n"
 
-#: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414
+#: exclude.c:330 log.c:773 usertab.c:88 util.c:1767
 #, c-format
 msgid "Cannot get the size of file %s\n"
 msgstr "²»Äܵõ½ÎļþµÄ´óС %s\n"
 
-#: exclude.c:332
+#: exclude.c:335
 #, c-format
 msgid "Failed to rewind the excluded users file %s: %s\n"
 msgstr "תÏòÅųýÓû§Îļþʱʧ°Ü %s: %s\n"
 
-#: exclude.c:337
+#: exclude.c:340 log.c:783 util.c:1777
 #, c-format
 msgid "malloc error (%ld bytes required)\n"
 msgstr "ÄÚ´æÒ²´íÎó (%ld bytes required)\n"
 
-#: getconf.c:210
+#: getconf.c:231
 #, c-format
 msgid "The string value of parameter \"%s\" is too long\n"
 msgstr "²ÎÊýµÄ×Ö·û´®Öµ\"%s\" Ì«³¤\n"
 
-#: getconf.c:230
+#: getconf.c:276
 #, c-format
 msgid "Missing double quote after parameter \"%s\"\n"
 msgstr "ÔÚ²ÎÊýÖ®ºóȱÉÙË«ÒýºÅ\"%s\"\n"
 
-#: getconf.c:242
+#: getconf.c:288
 #, c-format
 msgid ""
 "Missing double quote after parameter \"%s\" or value is more than %d bytes "
 "long\n"
 msgstr "ÔÚ²ÎÊýÖ®ºóȱÉÙË«ÒýºÅ \"%s\" »òÕßÊýÖµ´óÓÚ %d ×Ö½Ú³¤\n"
 
-#: getconf.c:263
+#: getconf.c:309
 #, c-format
 msgid "The first word of parameter \"%s\" is more than %d bytes long\n"
 msgstr "²ÎÊýµÄµÚÒ»¸ö´Ê \"%s\" ´óÓÚ %d ×Ö½Ú³¤\n"
 
-#: getconf.c:267
+#: getconf.c:313
 #, c-format
 msgid "Missing second word for parameter \"%s\"\n"
 msgstr "²ÎÊýȱÉÙµÚ¶þ¸ö´Ê \"%s\"\n"
 
-#: getconf.c:277
+#: getconf.c:323
 #, c-format
 msgid "The second word of parameter \"%s\" is more than %d bytes long\n"
 msgstr "µÚ¶þ¸ö²ÎÊý \"%s\" ´óÓÚ %d ×Ö½Ú³¤\n"
 
-#: getconf.c:300
+#: getconf.c:346
 #, c-format
 msgid "The integer value of parameter \"%s\" is invalid\n"
 msgstr "ÕûÊýÊýÖµ²ÎÊý \"%s\" ²»´æÔÚ\n"
 
-#: getconf.c:352
+#: getconf.c:398 getconf.c:474
 #, c-format
 msgid "Unknown value \"%s\" for parameter \"%s\"\n"
 msgstr "²»´æÔÚµÄÊýÖµ \"%s\" ²ÎÊý \"%s\"\n"
 
-#: getconf.c:356
+#: getconf.c:402
 #, c-format
 msgid ""
 "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n"
 msgstr "ÊýÖµ \"%s\" ³åÍ»ÓëÆäËü±»Ñ¡¶¨µÄ²ÎÊýÊýÖµ \"%s\"\n"
 
-#: getconf.c:387
+#: getconf.c:433
 #, fuzzy, c-format
 msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n"
 msgstr "²»´æÔÚµÄÊýÖµ \"%s\" ²ÎÊý \"%s\"\n"
 
-#: getconf.c:402
+#: getconf.c:448
 #, fuzzy, c-format
 msgid "Unknown sort order \"%s\" for parameter \"%s\"\n"
 msgstr "²»´æÔÚµÄÊýÖµ \"%s\" ²ÎÊý \"%s\"\n"
 
-#: getconf.c:422
+#: getconf.c:515
+#, c-format
+msgid "Missing limit in per_user_limit\n"
+msgstr ""
+
+#: getconf.c:541
+#, c-format
+msgid "Invalid output type in per_user_limit\n"
+msgstr ""
+
+#: getconf.c:547
+#, c-format
+msgid "Too many per_user_limit\n"
+msgstr ""
+
+#: getconf.c:590
 #, c-format
 msgid "SARG: TAG: %s\n"
 msgstr "SARG: TAG: %s\n"
 
-#: getconf.c:471
+#: getconf.c:639
 #, c-format
 msgid ""
 "Maybe you have a broken record or garbage in \"date_format\" parameter\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¼Í¼»òÀ¬»øÔÚ \"date_format\" ²ÎÊýÖÐ\n"
 
-#: getconf.c:481
+#: getconf.c:648
 #, c-format
 msgid "Error: Invalid syntax in hours tag!\n"
 msgstr "´íÎó: ²»´æÔڵľ䷨ÔÚСʱ±êÇ©ÖÐ!\n"
 
-#: getconf.c:489
+#: getconf.c:656
 #, c-format
 msgid "Error: Invalid syntax in weekdays tag!\n"
 msgstr "´íÎó: ²»´æÔڵľ䷨ÔÚÔÚʱ¼ä±êÇ©ÖÐ!\n"
 
-#: getconf.c:502
-#, c-format
-msgid "Too many log files in configuration file\n"
-msgstr "ÔÚÅäÖÃÎļþÖдæÔÚ¹ý¶àµÄÈÕÖ¾Îļþ\n"
+#: getconf.c:672 log.c:331 log.c:434 log.c:476
+#, fuzzy, c-format
+msgid "Not enough memory to store the input log file names\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n"
 
-#: getconf.c:514
+#: getconf.c:682
 #, c-format
 msgid "Too many redirector log files in configuration file\n"
 msgstr "ÔÚÅäÖÃÎļþÖÐÓжàÓàµÄÖض¨ÏòÈÕÖ¾Îļþ\n"
 
-#: getconf.c:658 getconf.c:665
+#: getconf.c:830 getconf.c:837
 #, c-format
 msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n"
 msgstr "ÔÚ²ÎÊýÖÐÁÙʱÎļþÃû¹ý³¤\"AuthUserTemplateFile\"\n"
 
-#: getconf.c:683
+#: getconf.c:855
 #, c-format
 msgid ""
 "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to "
 "\"no\" in %s to disable this warning\n"
 msgstr ""
 
-#: getconf.c:693
+#: getconf.c:865
 #, c-format
 msgid ""
 "squidguard_log_format is deprecated and has been replaced by "
@@ -685,7 +708,7 @@ msgstr ""
 "squidguard_log_formatÒÑʧЧ£¬²¢ÇÒÒѾ­±» redirector_log_format ËùÌæ´ú£¬Çë¸üÐÂ"
 "ÄúµÄÅäÖÃÎļþ¡£\n"
 
-#: getconf.c:702
+#: getconf.c:874
 #, fuzzy, c-format
 msgid ""
 "redirector_ignore_date is deprecated and has been replaced by "
@@ -695,7 +718,7 @@ msgstr ""
 "squidguard_ignore_date ÒÑʧЧ£¬²¢ÇÒÒѾ­±»redirector_ignore_dateËùÌæ´ú¡£Çë¸üÐÂ"
 "ÄúµÄÅäÖÃÎļþ¡£\n"
 
-#: getconf.c:707
+#: getconf.c:879
 #, fuzzy, c-format
 msgid ""
 "squidguard_ignore_date is deprecated and has been replaced by "
@@ -705,7 +728,7 @@ msgstr ""
 "squidguard_ignore_date ÒÑʧЧ£¬²¢ÇÒÒѾ­±»redirector_ignore_dateËùÌæ´ú¡£Çë¸üÐÂ"
 "ÄúµÄÅäÖÃÎļþ¡£\n"
 
-#: getconf.c:714
+#: getconf.c:886
 #, fuzzy, c-format
 msgid ""
 "dansguardian_ignore_date is deprecated and has been replaced by "
@@ -715,34 +738,29 @@ msgstr ""
 "squidguard_ignore_date ÒÑʧЧ£¬²¢ÇÒÒѾ­±»redirector_ignore_dateËùÌæ´ú¡£Çë¸üÐÂ"
 "ÄúµÄÅäÖÃÎļþ¡£\n"
 
-#: getconf.c:763 getconf.c:768
+#: getconf.c:943 getconf.c:948
 #, c-format
 msgid "The \"byte_cost\" parameter of the configuration file is invalid\n"
 msgstr "\"byte_cost\" ÅäÖÃÎļþµÄ²ÎÊý²»´æÔÚ\n"
 
-#: getconf.c:775
+#: getconf.c:957
 #, c-format
 msgid "SARG: Unknown option %s\n"
 msgstr "SARG: Î´ÖªµÄÑ¡Ïî %s\n"
 
-#: getconf.c:784
+#: getconf.c:966
 #, c-format
 msgid "Loading configuration from %s\n"
 msgstr "ÔØÈëÅäÖôӠ%s\n"
 
-#: getconf.c:787
-#, c-format
-msgid "(getconf) Cannot open file %s\n"
-msgstr "(getconf) ²»ÄÜ´ò¿ªÎļþ %s\n"
-
 #: grepday.c:144
 #, fuzzy, c-format
 msgid "realloc error (%<PRIu64> bytes required)\n"
 msgstr "ÖØзÖÅä´íÎó (%zu bytes required)\n"
 
 #: grepday.c:157
-#, c-format
-msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n"
+#, fuzzy, c-format
+msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n"
 msgstr "(grepday) iconvת»»×Ö·û´®Ê§°Ü \"%s\" ´Ó %s µ½ UTF-8 - %s \n"
 
 #: grepday.c:170
@@ -784,402 +802,400 @@ msgstr "SARG,"
 msgid "User: %s"
 msgstr "Óû§: %s"
 
-#: grepday.c:613 grepday.c:728
+#. TRANSLATORS: The message is followed by the path that is too long.
+#: grepday.c:614 grepday.c:680 grepday.c:729 sort.c:140
 #, fuzzy, c-format
-msgid "user name too long for %s/%s/%s\n"
-msgstr "Óû§Ãû¹ý³¤ %s/%s.day\n"
-
-#: grepday.c:617 grepday.c:687
-#, c-format
-msgid "(grepday) Cannot open log file %s\n"
-msgstr "(grepday) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+msgid "User name too long to manufacture file name "
+msgstr "Óû§Ãû¹ý³¤»òÕß²»´æÔÚ %s\n"
 
-#: grepday.c:634
+#: grepday.c:638
 #, c-format
 msgid "Graphs disabled as requested in %s\n"
 msgstr ""
 
-#: grepday.c:639
+#: grepday.c:643
 #, c-format
 msgid "Graphs disabled as no font names were provided in %s\n"
 msgstr ""
 
-#: grepday.c:644
-#, c-format
-msgid "(grepday) Fontname %s not found\n"
+#: grepday.c:648
+#, fuzzy, c-format
+msgid "Font name %s not found\n"
 msgstr "(grepday) ×ÖÌåÃû³Æ %s ÕÒ²»µ½\n"
 
-#: grepday.c:651
-#, c-format
-msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n"
+#: grepday.c:655
+#, fuzzy, c-format
+msgid "iconv cannot convert from %s to UTF-8: %s\n"
 msgstr "(grepday) iconv ²»ÄÜת»»´Ó %s µ½ UTF-8 - %s\n"
 
-#: grepday.c:674
-#, c-format
-msgid "user name too long for %s/%s.day\n"
-msgstr "Óû§Ãû¹ý³¤ %s/%s.day\n"
-
-#: grepday.c:697 redirector.c:486 repday.c:81
+#: grepday.c:699 redirector.c:499 repday.c:83
 #, c-format
 msgid "Invalid date in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: grepday.c:703
+#: grepday.c:705
 #, c-format
 msgid "Invalid entry in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n"
 
-#: grepday.c:708 repday.c:106
+#: grepday.c:710 repday.c:108
 #, c-format
 msgid "Invalid number of bytes in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÊý×Ö×Ö½Ú %s\n"
 
-#: grepday.c:715 repday.c:113
+#: grepday.c:717 repday.c:115
 #, c-format
 msgid "Invalid elapsed time in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄʱ¼ä¶Î %s\n"
 
-#: grepday.c:732
-#, fuzzy, c-format
-msgid "(grepday) Cannot open output file %s\n"
-msgstr "(grepday) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
-
-#: grepday.c:735
+#: grepday.c:737
 #, fuzzy
 msgid "Graph report"
 msgstr "ÈÕ±¨"
 
-#: grepday.c:742 grepday.c:755 index.c:263
+#: grepday.c:744 grepday.c:757 index.c:312
 msgid "DAYS"
 msgstr "ÈÕ"
 
-#: html.c:64
-#, fuzzy, c-format
-msgid "File name too long: %s/sargtmp.int_unsort\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
-
-#: html.c:69
+#: html.c:97
 #, fuzzy, c-format
-msgid "File name too long: %s/sargtmp.int_log\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
-
-#: html.c:87
-#, c-format
-msgid "Destination directory too long: %s/%s\n"
-msgstr "Ä¿±êĿ¼¹ý³¤: %s/%s\n"
+msgid "Cannot create empty per_user_limit file \"%s\": %s\n"
+msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n"
 
-#: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931
+#: html.c:138 index.c:887 index.c:895 util.c:436 util.c:447 util.c:1105
 #, fuzzy, c-format
-msgid "Cannot create directory %s - %s\n"
+msgid "Cannot create directory \"%s\": %s\n"
 msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n"
 
-#: html.c:105
+#: html.c:145
 #, fuzzy, c-format
 msgid "Input file name too long: %s/htmlrel.txt\n"
 msgstr "ÊäÈëµÄÃû³Æ¹ý³¤: %s/%s\n"
 
-#: html.c:110
-#, c-format
-msgid "(html3) Cannot open file %s\n"
-msgstr "(html3) ²»ÄÜ´ò¿ªÎļþ %s\n"
-
-#: html.c:115
-#, c-format
-msgid "Output file name too long: %s/%s/%s.html\n"
-msgstr "Êä³öÎļþÃû¹ý³¤: %s/%s/%s.html\n"
-
-#: html.c:119
-#, fuzzy, c-format
-msgid "File name too long: %s/denied_%s.html\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n"
-
-#: html.c:140 html.c:230 topuser.c:308
+#: html.c:185 html.c:275 topuser.c:327
 #, c-format
 msgid "There is a broken number of access in file %s\n"
 msgstr "Óв»ÍêÕûµÄ·ÃÎÊÊý×ÖÔÚÎļþ %s\n"
 
-#: html.c:145
+#: html.c:190
 #, c-format
 msgid "There is a broken downloaded size in file %s\n"
 msgstr "Óв»ÍêÕûµÄÏÂÔØ´óСÔÚÎļþ %s\n"
 
-#: html.c:154 html.c:242
+#: html.c:199 html.c:287
 #, c-format
 msgid "There is a broken access code in file %s\n"
 msgstr "Óв»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÎļþ %s\n"
 
-#: html.c:158 html.c:246 report.c:171
+#: html.c:203 html.c:291 report.c:181
 #, c-format
 msgid "There is a broken elapsed time in file %s\n"
 msgstr "Óв»ÍêÕûµÄʱ¼äÔÚÎļþ %s\n"
 
-#: html.c:163
+#: html.c:208
 #, c-format
 msgid "There is a broken in-cache volume in file %s\n"
 msgstr "Óв»ÍêÕûµÄin-cache¾íÔÚÎļþ %s\n"
 
-#: html.c:168
+#: html.c:213
 #, c-format
 msgid "There is a broken out-cache volume in file %s\n"
 msgstr "Óв»ÍêÕûµÄout-cache¾íÔÚÎļþ %s\n"
 
-#: html.c:177
-#, c-format
-msgid "(html5) Cannot open file %s\n"
-msgstr "(html5) ²»ÄÜ´ò¿ªÎļþ %s\n"
-
-#: html.c:181 html.c:187
+#: html.c:226 html.c:232
 msgid "User report"
 msgstr "Óû§±¨¸æ"
 
-#: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177
+#: html.c:228 repday.c:133 report.c:269 report.c:273 smartfilter.c:184
 msgid "User"
 msgstr "Óû§"
 
-#: html.c:185 report.c:261
+#: html.c:230 report.c:271
 #, c-format
 msgid "Sort:&nbsp;%s, %s"
 msgstr ""
 
-#: html.c:192
+#: html.c:237
 #, fuzzy
 msgid "SmartFilter report"
 msgstr "ÖÇÄܹýÂË"
 
-#: html.c:211 topuser.c:278
+#: html.c:254
+#, fuzzy
+msgid "%BYTES"
+msgstr "×Ö½Ú"
+
+#: html.c:256 topuser.c:297
 msgid "IN-CACHE-OUT"
 msgstr "IN-CACHE-OUT"
 
-#: html.c:222
+#: html.c:262
+#, fuzzy
+msgctxt "duration"
+msgid "%TIME"
+msgstr "ʱ¼ä"
+
+#: html.c:267
 #, c-format
 msgid "Making report: %s\n"
 msgstr "±ê¼Ç±¨¸æ: %s\n"
 
-#: html.c:234 topuser.c:304 util.c:771
+#: html.c:279 topuser.c:323 util.c:926
 #, c-format
 msgid "There is a broken number of bytes in file %s\n"
 msgstr "Óв»ÍêÕûµÄ×Ö½ÚÊý×ÖÔÚÎļþ %s\n"
 
-#: html.c:250
+#: html.c:295
 #, c-format
 msgid "There is a broken in cache column in file %s\n"
 msgstr "ÖжÏÔÚ»º´æÁÐÄÚÔÚÎļþ %s\n"
 
-#: html.c:254
+#: html.c:299
 #, c-format
 msgid "There is a broken out of cache column in file %s (%d)\n"
 msgstr "ÖжÏÔÚ»º´æÁÐÍâÔÚÎļþ %s(%d)\n"
 
-#: html.c:268 topuser.c:355
+#: html.c:313 topuser.c:373
 msgid "date/time report"
 msgstr "ÈÕÆÚ/ʱ¼ä ±¨¸æ"
 
-#: html.c:321
+#: html.c:366
 msgid "DENIED"
 msgstr "×èÖ¹"
 
-#: html.c:335
-#, c-format
-msgid "File name too long: %s/%s.ip\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
-
-#: html.c:340
-#, c-format
-msgid "(html6) Cannot open file %s\n"
-msgstr "(html6)²»ÄÜ´ò¿ªÎļþ %s\n"
-
-#: html.c:345
-#, c-format
-msgid "(html7) Cannot open file %s\n"
-msgstr "(html7) ²»ÄÜ´ò¿ªÎļþ %s\n"
-
-#: html.c:356 html.c:417
+#: html.c:401 html.c:468
 #, c-format
 msgid "Maybe you have a broken user IP in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÓû§IPµØÖ·ÔÚÄãµÄ %s ÎļþÖР\n"
 
-#: html.c:365 log.c:1258
+#: html.c:410
 #, c-format
 msgid "Maybe you have a broken day in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖР\n"
 
-#: html.c:369 log.c:1217
+#: html.c:414
 #, c-format
 msgid "Maybe you have a broken time in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: html.c:373 html.c:421
+#: html.c:418 html.c:472
 #, c-format
 msgid "Maybe you have a broken size in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ´óСÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: html.c:377 html.c:425 log.c:1047 log.c:1052
+#: html.c:422 html.c:476
 #, c-format
 msgid "Maybe you have a broken elapsed time in your %s file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n"
 
-#: html.c:399
+#: html.c:615
 #, c-format
-msgid "(html8) Cannot open file %s\n"
-msgstr "(html8) ²»ÄÜ´ò¿ªÎļþ %s\n"
+msgid "User %s limit exceeded (%d MB). Added to file %s\n"
+msgstr "Óû§%s ³¬³öÏÞÖÆ (%d MB). Ôö¼Óµ½Îļþ %s\n"
 
-#: html.c:533
-#, c-format
-msgid "(html9) Cannot open file %s\n"
-msgstr "(html9) ²»ÄÜ´ò¿ªÎļþ %s\n"
+#. TRANSLATORS: The %s is the name of the html index file (index.html).
+#: index.c:63
+#, fuzzy, c-format
+msgid "Making %s\n"
+msgstr "±ê¼Ç±¨¸æ: %s\n"
 
-#: html.c:548
-#, c-format
-msgid "(html10) Cannot open file %s\n"
-msgstr "(html10) ²»ÄÜ´ò¿ªÎļþ %s\n"
+#: index.c:68 index.c:156 index.c:249 index.c:409 index.c:545 index.c:674
+#: indexonly.c:38 lastlog.c:96 lastlog.c:161 lastlog.c:215 util.c:1112
+#, fuzzy, c-format
+msgid "Cannot open directory \"%s\": %s\n"
+msgstr "(util) ²»ÄÜ´ò¿ªÎļþ¼Ð %s: %s\n"
 
-#: html.c:555
-#, c-format
-msgid "User %s limit exceeded (%d MB). Added to file %s\n"
-msgstr "Óû§%s ³¬³öÏÞÖÆ (%d MB). Ôö¼Óµ½Îļþ %s\n"
+#: index.c:164
+#, fuzzy, c-format
+msgid "Path too long "
+msgstr "·¾¶¹ý³¤ %s/%s.ip\n"
 
-#: index.c:54
-#, c-format
-msgid "Making index.html\n"
-msgstr "±ê¼Ç index.html\n"
+#: index.c:170 index.c:269 index.c:429
+#, fuzzy, c-format
+msgid "Failed to get the file statistics of %s: %s\n"
+msgstr "»ñÈ¡Îļþ´´½¨Ê±¼äʱʧ°Ü %s\n"
 
-#: index.c:58 index.c:112 index.c:167 index.c:228 index.c:330 indexonly.c:38
-#: lastlog.c:59
-#, c-format
-msgid "Failed to open directory %s - %s\n"
-msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n"
+#: index.c:182
+#, fuzzy, c-format
+msgid "Not enough memory to recurse into subdirectory\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Îļþ %s\n"
 
-#: index.c:143 index.c:195 index.c:256
+#: index.c:285
 #, c-format
-msgid "(index) Cannot open file %s - %s\n"
-msgstr "(index) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
+msgid ""
+"Too many day directories in %s\n"
+"Supernumerary entries are ignored\n"
+msgstr ""
+"¹ý¶àµÄÈÕÆÚÎļþ¼ÐÔÚ %s\n"
+"¶àÓàÊä³ö±»Ìø¹ý\n"
 
-#: index.c:146 index.c:427
-msgid "SARG report"
-msgid_plural "SARG reports"
-msgstr[0] "SARG ±¨¸æ"
+#: index.c:308
+#, fuzzy, c-format
+msgid "SARG: report for %s/%s"
+msgid_plural "SARG: reports for %s/%s"
+msgstr[0] "SARG ±¨¸æ %s"
 
-#: index.c:149 index.c:202 index.c:263
+#: index.c:312 index.c:472 index.c:597
 msgid "YEAR"
 msgstr "Äê"
 
-#: index.c:151
+#: index.c:312 index.c:472
+msgid "MONTH"
+msgstr "Ô·Ý"
+
+#: index.c:314 index.c:474 index.c:599
 msgid "SIZE"
 msgstr "´óС"
 
-#: index.c:182
-#, c-format
-msgid ""
-"Too many month directories in %s\n"
-"Supernumerary entries are ignored\n"
+#: index.c:363
+msgid "January"
 msgstr ""
-"Ì«¶àÔ·ÝÎļþ¼ÐÔÚ %s\n"
-"¶àÓàµÄÊäÈë±»ºöÂÔ\n"
 
-#: index.c:198
-#, c-format
-msgid "SARG: report for %04d"
-msgid_plural "SARG: reports for %04d"
-msgstr[0] "SARG report %04d"
+#: index.c:363
+msgid "February"
+msgstr ""
 
-#: index.c:202 index.c:263
-msgid "MONTH"
-msgstr "Ô·Ý"
+#: index.c:363
+msgid "March"
+msgstr ""
+
+#: index.c:363
+msgid "April"
+msgstr ""
+
+#: index.c:363
+msgid "May"
+msgstr ""
+
+#: index.c:363
+msgid "June"
+msgstr ""
+
+#: index.c:363
+msgid "July"
+msgstr ""
+
+#: index.c:364
+msgid "August"
+msgstr ""
+
+#: index.c:364
+msgid "September"
+msgstr ""
+
+#: index.c:364
+msgid "October"
+msgstr ""
+
+#: index.c:364
+msgid "November"
+msgstr ""
+
+#: index.c:364
+msgid "December"
+msgstr ""
 
-#: index.c:243
+#: index.c:367
 #, c-format
 msgid ""
-"Too many day directories in %s\n"
-"Supernumerary entries are ignored\n"
+"The internal list of month names is invalid. Please report this bug to the "
+"translator.\n"
 msgstr ""
-"¹ý¶àµÄÈÕÆÚÎļþ¼ÐÔÚ %s\n"
-"¶àÓàÊä³ö±»Ìø¹ý\n"
 
-#: index.c:259
+#: index.c:445
 #, c-format
-msgid "SARG: report for %04d/%02d"
-msgid_plural "SARG: reports for %04d/%02d"
-msgstr[0] "SARG ±¨¸æ %04d/%02d"
+msgid ""
+"Too many month directories in %s\n"
+"Supernumerary entries are ignored\n"
+msgstr ""
+"Ì«¶àÔ·ÝÎļþ¼ÐÔÚ %s\n"
+"¶àÓàµÄÊäÈë±»ºöÂÔ\n"
 
-#: index.c:280 index.c:286 index.c:293 index.c:456
-#, c-format
-msgid "Write error in the index %s\n"
-msgstr "дÈë´íÎóµÄË÷Òý %s\n"
+#: index.c:468
+#, fuzzy, c-format
+msgid "SARG: report for %s"
+msgid_plural "SARG: reports for %s"
+msgstr[0] "SARG ±¨¸æ %s"
 
-#: index.c:282 index.c:288 index.c:295 index.c:458
-#, c-format
-msgid "Failed to close the index file %s - %s\n"
-msgstr "À뿪Ë÷ÒýÎļþʱʧ°Ü %s - %s\n"
+#: index.c:587
+#, fuzzy, c-format
+msgid "Resulting index file name too long: %s/%s"
+msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
+
+#: index.c:594 index.c:771
+msgid "SARG report"
+msgid_plural "SARG reports"
+msgstr[0] "SARG ±¨¸æ"
 
-#: index.c:340
+#: index.c:684
 #, c-format
 msgid ""
 "The directory \"%s%s\" looks like a report directory but doesn't contain a "
 "sarg-date file. You should delete it\n"
 msgstr ""
 
-#: index.c:345 index.c:405
+#: index.c:689 index.c:749
 #, c-format
 msgid "not enough memory to sort the index\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥ÅÅÐòË÷Òý\n"
 
-#: index.c:367
+#: index.c:711
 #, c-format
 msgid "Maybe you have a broken week day in your %s%s/sarg-date file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n"
 
-#: index.c:371
+#: index.c:715
 #, c-format
 msgid "Maybe you have a broken month in your %s%s/sarg-date file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n"
 
-#: index.c:375
+#: index.c:719
 #, c-format
 msgid "Maybe you have a broken day in your %s%s/sarg-date file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n"
 
-#: index.c:379 index.c:389
+#: index.c:723 index.c:733
 #, c-format
 msgid "Maybe you have a broken time in your %s%s/sarg-date file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄʱ¼äÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n"
 
-#: index.c:384
+#: index.c:728
 #, c-format
 msgid "Maybe you have a broken year in your %s%s/sarg-date file\n"
 msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÄê·ÝÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n"
 
-#: index.c:397
+#: index.c:741
 #, c-format
 msgid "Not enough memory to store the directory name \"%s\" in the index\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢ÎļþÃûÔÚ \"%s\" ÔÚË÷ÒýÖÐ\n"
 
-#: index.c:424
-#, c-format
-msgid "(index) Cannot open file %s\n"
-msgstr "(index) ²»ÄÜ´ò¿ªÎļþ %s\n"
-
-#: index.c:432
+#: index.c:777
 msgid "FILE/PERIOD"
 msgstr "Îļþ/ÖÜÆÚ"
 
-#: index.c:432
+#: index.c:777
 msgid "CREATION DATE"
 msgstr "´´½¨ÈÕÆÚ"
 
 #. TRANSLATORS: This is a column header showing the users who visited each site.
 #. TRANSLATORS: This is a column header showing the number of users who visited a sites.
-#: index.c:432 siteuser.c:101 topsites.c:258
+#: index.c:777 siteuser.c:103 topsites.c:266
 msgid "USERS"
 msgstr "Óû§"
 
-#: index.c:561 index.c:663
-#, c-format
-msgid "(index) rename error from \"%s\" to \"%s\" - %s\n"
-msgstr "(index)ÖØÃüÃû´íÎó´Ó \"%s\" ÖÁ \"%s\" - %s\n"
+#: index.c:802
+#, fuzzy, c-format
+msgid "Write error in file \"%s\": %s\n"
+msgstr "ÔÚÎļþÖÐÓÐдÈë´íÎó %s\n"
 
-#: index.c:572
-#, c-format
-msgid "failed to create link \"%s\" to \"%s\" - %s\n"
+#: index.c:905 index.c:1007
+#, fuzzy, c-format
+msgid "Error renaming \"%s\" to \"%s\": %s\n"
+msgstr "´´½¨Á¬½Óʧ°Ü \"%s\" ÖÁ \"%s\" - %s\n"
+
+#: index.c:916
+#, fuzzy, c-format
+msgid "Failed to create link \"%s\" to \"%s\": %s\n"
 msgstr "´´½¨Á¬½Óʧ°Ü \"%s\" ÖÁ \"%s\" - %s\n"
 
 #: indexonly.c:46
@@ -1282,592 +1298,320 @@ msgstr "
 msgid "Command failed: %s\n"
 msgstr "ÃüÁî: %s\n"
 
-#: lastlog.c:50
+#: lastlog.c:58 lastlog.c:65
 #, fuzzy, c-format
-msgid "File name too long: %s/lastlog1\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
+msgid "Not enough memory to store a report to purge\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥´æ´¢Á¬½Ó\n"
 
-#: lastlog.c:54 lastlog.c:114
-#, c-format
-msgid "(lastlog) Cannot open temporary file %s\n"
-msgstr "(lastlog) ²»ÄÜ´ò¿ªÁÙʱÎļþ %s\n"
+#: lastlog.c:103 lastlog.c:168
+#, fuzzy, c-format
+msgid "Directory entry too long to purge the old reports: %s%s\n"
+msgstr "Îļþ¼ÐÃû³Æ¹ý³¤: %s%s\n"
 
-#: lastlog.c:68
-#, c-format
-msgid "Failed to get the creation time of %s\n"
+#: lastlog.c:108 lastlog.c:173
+#, fuzzy, c-format
+msgid "Failed to get the last modification time of %s\n"
 msgstr "»ñÈ¡Îļþ´´½¨Ê±¼äʱʧ°Ü %s\n"
 
-#: lastlog.c:83
+#: lastlog.c:121 lastlog.c:133 lastlog.c:182 lastlog.c:193
 #, c-format
-msgid "No old reports to delete as only %d report currently exist\n"
-msgid_plural "No old reports to delete as only %d reports currently exists\n"
-msgstr[0] ""
+msgid "Old reports deletion not undertaken due to previous error\n"
+msgstr ""
 
-#: lastlog.c:107
+#: lastlog.c:156 lastlog.c:291
 #, fuzzy, c-format
-msgid "%d report directory found\n"
-msgid_plural "%d report directories found\n"
-msgstr[0] "ûÓÐÕÒµ½¼Í¼\n"
+msgid "The directory containing the old reports to purge is too long: %s\n"
+msgstr "Îļþ¼ÐÃû³ÆÌ«³¤²»ÄÜɾ³ý: %s/%s\n"
+
+#: lastlog.c:235
+#, fuzzy, c-format
+msgid "Deleting empty directory %s\n"
+msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n"
+
+#: lastlog.c:238
+#, fuzzy, c-format
+msgid "Buffer too small to delete index file %s/%s"
+msgstr "À뿪Ë÷ÒýÎļþʱʧ°Ü %s - %s\n"
+
+#. TRANSLATORS: The %s at the end is the system error message describing the reason for the failure.
+#: lastlog.c:244
+#, fuzzy, c-format
+msgid "Failed to delete index file \"%s\" in the empty report directory: %s\n"
+msgstr "ɾ³ýÎļþʧ°Ü %s\n"
+
+#: lastlog.c:273
+#, fuzzy, c-format
+msgid "%d report directory found\n"
+msgid_plural "%d report directories found\n"
+msgstr[0] "ûÓÐÕÒµ½¼Í¼\n"
+
+#: lastlog.c:278
+#, c-format
+msgid "No old reports to delete as only %d report currently exists\n"
+msgid_plural "No old reports to delete as only %d reports currently exist\n"
+msgstr[0] ""
 
-#: lastlog.c:110
+#: lastlog.c:286
 #, c-format
 msgid "%d old report to delete\n"
 msgid_plural "%d old reports to delete\n"
 msgstr[0] ""
 
-#: lastlog.c:127
+#: lastlog.c:298
 #, c-format
 msgid "Removing old report file %s\n"
 msgstr "Òƶ¯¾ÉµÄ±¨¸æÎļþ %s\n"
 
-#: lastlog.c:129
-#, c-format
-msgid "Directory name too long: %s%s\n"
-msgstr "Îļþ¼ÐÃû³Æ¹ý³¤: %s%s\n"
-
-#: log.c:425
-#, c-format
-msgid "Too many log files passed on command line with option -l.\n"
-msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n"
-
-#: log.c:429
-#, c-format
-msgid "Log file name too long passed on command line with option -l: %s\n"
-msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n"
-
-#: log.c:438
+#: log.c:338
 #, c-format
 msgid "Too many redirector logs passed on command line with option -L.\n"
 msgstr "´«ÈëÃüÁîÐвÎÊý -LµÄÖض¨ÏòÈÕÖ¾Îļþ¹ý¶à.\n"
 
-#: log.c:442
+#: log.c:342
 #, c-format
 msgid ""
 "Redirector log file name too long passed on command line with opton -L: %s\n"
 msgstr "´«ÈëÃüÁîÐвÎÊý -L µÄÖض¨ÏòÈÕÖ¾ÎļþÃû¹ý³¤: %s\n"
 
-#: log.c:476
+#: log.c:373
 #, fuzzy, c-format
 msgid "Time period passed on the command line with option -t must be HH:MM\n"
 msgstr "ʱ¼äÇø¼ä´«ÈëÃüÁîÐвÎÊý -t ²»´æÔÚ\n"
 
-#: log.c:484
+#: log.c:381
 #, fuzzy, c-format
 msgid ""
 "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
 msgstr "ʱ¼äÇø¼ä´«ÈëÃüÁîÐвÎÊý -t ²»´æÔÚ\n"
 
-#: log.c:512
+#: log.c:409
 #, fuzzy, c-format
 msgid "Option -%c requires an argument\n"
 msgstr "Ñ¡Ïî -%c ÐèÒªÒ»¸öÅжÏ\n"
 
-#: log.c:530
-#, fuzzy, c-format
-msgid "Too many log files passed on command line.\n"
-msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n"
-
-#: log.c:534
-#, fuzzy, c-format
-msgid "Log file name too long passed on command line: %s\n"
-msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n"
-
-#: log.c:543
+#: log.c:441
 #, c-format
 msgid "Init\n"
 msgstr "Init\n"
 
-#: log.c:547
-#, c-format
-msgid "Cannot open config file: %s - %s\n"
-msgstr "²»ÄÜ´ò¿ªÅäÖÃÎļþ: %s -%s\n"
-
-#: log.c:655
+#: log.c:563
 #, c-format
 msgid ""
 "The output directory \"%s\" must be outside of the temporary directory \"%s"
 "\"\n"
 msgstr ""
 
-#: log.c:668
+#: log.c:576
 #, fuzzy, c-format
 msgid "Deleting temporary directory \"%s\"\n"
 msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n"
 
-#: log.c:677 log.c:710
+#: log.c:584
 #, c-format
 msgid "Parameters:\n"
 msgstr "²ÎÊý:\n"
 
-#: log.c:678 log.c:711
+#: log.c:585
 #, c-format
 msgid "          Hostname or IP address (-a) = %s\n"
 msgstr "          Ö÷»úÃû»òÕßIPµØÖ·(-a) = %s\n"
 
-#: log.c:679 log.c:712
+#: log.c:586
 #, c-format
 msgid "                   Useragent log (-b) = %s\n"
 msgstr "                   Óû§´úÀí  ÈÕÖ¾w (-b) = %s\n"
 
-#: log.c:680 log.c:713
+#: log.c:587
 #, c-format
 msgid "                    Exclude file (-c) = %s\n"
 msgstr "                    Åųý Îļþ (-c) = %s\n"
 
-#: log.c:681 log.c:714
+#: log.c:588
 #, c-format
 msgid "                 Date from-until (-d) = %s\n"
 msgstr "                 ÈÕÆÚ ´Ó-ÖÁ (-d) = %s\n"
 
-#: log.c:682 log.c:715
+#: log.c:589
 #, c-format
 msgid "   Email address to send reports (-e) = %s\n"
 msgstr "   ÓʼþµØÖ·ÓÃÀ´·¢Ëͱ¨¸æ (-e) = %s\n"
 
-#: log.c:683 log.c:716
+#: log.c:590
 #, c-format
 msgid "                     Config file (-f) = %s\n"
 msgstr "                     ÅäÖÃÎļþ (-f) = %s\n"
 
-#: log.c:685 log.c:718
+#: log.c:592
 #, c-format
 msgid "                     Date format (-g) = Europe (dd/mm/yyyy)\n"
 msgstr "                     ÈÕÆÚ¸ñʽ (-g) = Å·ÖÞ (dd/mm/yyyy)\n"
 
-#: log.c:687 log.c:720
+#: log.c:594
 #, c-format
 msgid "                     Date format (-g) = USA (mm/dd/yyyy)\n"
 msgstr "                     ÈÕÆÚ¸ñʽ (-g) = ÃÀ¹ú (mm/dd/yyyy)\n"
 
-#: log.c:689 log.c:722
+#: log.c:596
 #, c-format
 msgid "                     Date format (-g) = Sites & Users (yyyy/ww)\n"
 msgstr "                     ÈÕÆÚ¸ñʽ (-g) = Õ¾µã & Óû§ (yyyy/ww)\n"
 
-#: log.c:690 log.c:723
+#: log.c:597
 #, c-format
 msgid "                       IP report (-i) = %s\n"
 msgstr "                       IP±¨¸æ (-i) = %s\n"
 
-#: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723
-#: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737
+#: log.c:597 log.c:598 log.c:605 log.c:607 log.c:612
 msgid "Yes"
 msgstr "ÊÇ"
 
-#: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723
-#: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737
+#: log.c:597 log.c:598 log.c:605 log.c:607 log.c:612
 msgid "No"
 msgstr "·ñ"
 
-#: log.c:691 log.c:724
+#: log.c:598
 #, fuzzy, c-format
 msgid "            Keep temporary files (-k) = %s\n"
 msgstr "                   ÁÙʱÎļþĿ¼ (-w) = %s\n"
 
-#: log.c:693 log.c:726
+#: log.c:601
 #, c-format
 msgid "                       Input log (-l) = %s\n"
 msgstr "                       ÊäÈëµÄÈÕÖ¾ (-l) = %s\n"
 
-#: log.c:695 log.c:728
+#: log.c:604
 #, c-format
 msgid "                  Redirector log (-L) = %s\n"
 msgstr "                  Öض¨ÏòÈÕÖ¾  (-L) = %s\n"
 
-#: log.c:696 log.c:729
+#: log.c:605
 #, c-format
 msgid "              Resolve IP Address (-n) = %s\n"
 msgstr "              ×ª»»IPµØÖ· (-n) = %s\n"
 
-#: log.c:697 log.c:730
+#: log.c:606
 #, c-format
 msgid "                      Output dir (-o) = %s\n"
 msgstr "                      Êä³öĿ¼ (-o) = %s\n"
 
-#: log.c:698 log.c:731
+#: log.c:607
 #, c-format
 msgid "Use Ip Address instead of userid (-p) = %s\n"
 msgstr "ʹÓÃIPµØÖ·Ìæ´úÓû§ID (-p) = %s\n"
 
-#: log.c:699 log.c:732
+#: log.c:608
 #, c-format
 msgid "                   Accessed site (-s) = %s\n"
 msgstr "                   ·ÃÎÊÕ¾µã (-s) = %s\n"
 
-#: log.c:700 log.c:733
+#: log.c:609
 #, c-format
 msgid "                            Time (-t) = %s\n"
 msgstr "                            Ê±¼ä (-t) = %s\n"
 
-#: log.c:701 log.c:734
+#: log.c:610
 #, c-format
 msgid "                            User (-u) = %s\n"
 msgstr "                            Óû§ (-u) = %s\n"
 
-#: log.c:702 log.c:735
+#: log.c:611
 #, c-format
 msgid "                   Temporary dir (-w) = %s\n"
 msgstr "                   ÁÙʱÎļþĿ¼ (-w) = %s\n"
 
-#: log.c:703 log.c:736
+#: log.c:612
 #, c-format
 msgid "                  Debug messages (-x) = %s\n"
 msgstr "                  ¾À´íÐÅÏ¢ (-x) = %s\n"
 
-#: log.c:704 log.c:737
-#, c-format
-msgid "                Process messages (-z) = %s\n"
+#: log.c:613
+#, fuzzy, c-format
+msgid "                Process messages (-z) = %d\n"
 msgstr "                ½ø³ÌÐÅÏ¢ (-z) = %s\n"
 
-#: log.c:705 log.c:738
+#: log.c:614
 #, c-format
 msgid " Previous reports to keep (--lastlog) = %d\n"
 msgstr ""
 
-#: log.c:739 log.c:743
+#: log.c:619
 #, c-format
 msgid "sarg version: %s\n"
 msgstr "sarg °æ±¾: %s\n"
 
-#: log.c:746
+#: log.c:622
 #, c-format
 msgid "Sarg compiled to report warnings if the output is inconsistent\n"
 msgstr ""
 
-#: log.c:776
-#, c-format
-msgid "setrlimit error - %s\n"
-msgstr "setrlimit ´íÎó - %s\n"
-
-#: log.c:787
-#, c-format
-msgid "Not enough memory to read a log file\n"
-msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Ò»¸öÈÕÖ¾Îļþ\n"
-
-#: log.c:796 log.c:803
-#, c-format
-msgid "(log) Cannot open file: %s - %s\n"
-msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n"
-
-#: log.c:817
-#, c-format
-msgid "Reading access log file: from stdin\n"
-msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: ´Ó stdin\n"
-
-#: log.c:823
-#, c-format
-msgid ""
-"Cannot get the modification time of input log file %s (%s). Processing it "
-"anyway\n"
-msgstr "²»Äܵõ½ÊäÈëÈÕÖ¾ÎļþµÄÐÞ¸Äʱ¼ä %s (%s). ½ø³ÌÕýÔÚ¼ÌÐø\n"
-
-#: log.c:827
-#, c-format
-msgid "Ignoring old log file %s\n"
-msgstr "ºöÂԳ¾ɵÄÈÕÖ¾Îļþ %s\n"
-
-#: log.c:834 log.c:906
-#, c-format
-msgid "(log) Cannot open log file: %s - %s\n"
-msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n"
-
-#: log.c:837
-#, c-format
-msgid "Reading access log file: %s\n"
-msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s\n"
-
-#: log.c:865
-#, c-format
-msgid "SARG: Records in file: %lu, reading: %3.2f%%"
-msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2f%%"
-
-#: log.c:880
-#, c-format
-msgid "Log is from Microsoft ISA: %s\n"
-msgstr "ÈÕÖ¾À´×Ô΢ÈíISA: %s\n"
-
-#: log.c:888
-#, c-format
-msgid "The name of the file is invalid: %s\n"
-msgstr "ÎļþÃû²»´æÔÚ: %s\n"
-
-#: log.c:902
-#, fuzzy, c-format
-msgid "File name too long: %s/sarg_temp.log\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
-
-#: log.c:915
-#, c-format
-msgid "SARG: Records in file: %lu, reading: %3.2lf%%"
-msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2lf%%"
-
-#: log.c:931
-#, c-format
-msgid "Maybe you have a broken record or garbage in your exclusion string\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¼Í¼»òÕßÀ¬»øÔÚÄãµÄ½ûÖ¹×Ö·û´®\n"
-
-#: log.c:952
-#, c-format
-msgid "Maybe you have a broken time in your access.log file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄʱ¼äÔÚÄãµÄaccess.logÎļþ\n"
-
-#: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135
-#: log.c:1139 log.c:1143 log.c:1211 useragent.c:89
-#, c-format
-msgid "Maybe you have a broken date in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1039 log.c:1150 log.c:1267
-#, fuzzy, c-format
-msgid "Invalid time found in %s\n"
-msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
-
-#: log.c:1057
-#, c-format
-msgid "Maybe you have a broken client IP address in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¿Í»§¶ËIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1061
-#, c-format
-msgid "Maybe you have a broken result code in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ½á¹û´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1065
-#, c-format
-msgid "Maybe you have a broken amount of data in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÊý¾Ý×ܺÍÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1069
-#, c-format
-msgid "Maybe you have a broken request method in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÐèÇó·½·¨ÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1077 log.c:1205
-#, c-format
-msgid "Maybe you have a broken user ID in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÓû§IDÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1086
-#, c-format
-msgid "Cannot convert the timestamp from the squid log file\n"
-msgstr "²»ÄÜת»»Ê±¼ä´Á´ÓsquidÈÕÖ¾Îļþ\n"
-
-#: log.c:1199
-#, c-format
-msgid "Maybe you have a broken IP in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1223
-#, c-format
-msgid "Maybe you have a broken download duration in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔسÖÐøʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1229
-#, c-format
-msgid "Maybe you have a broken download size in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔØ´óСÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1237
-#, c-format
-msgid "Maybe you have a broken access code in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1250
-#, c-format
-msgid "Maybe you have a broken year in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÄê·ÝÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1254
-#, c-format
-msgid "Maybe you have a broken month in your %s file\n"
-msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s ÎļþÖÐ\n"
-
-#: log.c:1274
-#, c-format
-msgid "Unknown input log file format\n"
-msgstr "δ֪µÄÊäÈëÈÕÖ¾Îļþ¸ñʽ\n"
-
-#: log.c:1299
-#, c-format
-msgid "User ID too long: %s\n"
-msgstr "Óû§ID¹ý³¤: %s\n"
-
-#: log.c:1312
-#, c-format
-msgid "Excluded code: %s\n"
-msgstr "ÒÑÅųý´úÂë: %s\n"
-
-#: log.c:1372
-#, c-format
-msgid "Excluded site: %s\n"
-msgstr "ÒÑÅųýÕ¾µã: %s\n"
-
-#: log.c:1424
-#, c-format
-msgid "Excluded user: %s\n"
-msgstr "ÒÑÅųýÓû§: %s\n"
-
-#: log.c:1458
-#, c-format
-msgid "Not enough memory to store the user %s\n"
-msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
-
-#: log.c:1487
-#, c-format
-msgid "Failed to close the log file of user %s - %s\n"
-msgstr "¹Ø±ÕÓû§ÈÕÖ¾Îļþʧ°Ü %s - %s\n"
-
-#: log.c:1497
+#: log.c:651
 #, fuzzy, c-format
-msgid "Temporary user file name too long: %s/%s.user_unsort\n"
-msgstr "ÁÙʱÓû§ÎļþÃû¹ý³¤: %s/sarg/%s.unsort\n"
-
-#: log.c:1501 log.c:1522
-#, c-format
-msgid "(log) Cannot open temporary file: %s - %s\n"
-msgstr "(log) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s\n"
-
-#: log.c:1507
-#, c-format
-msgid "Write error in the log file of user %s\n"
-msgstr "ÈÕÖ¾ÎļþÖеÄÓû§´æÔÚдÈë´íÎó %s\n"
-
-#: log.c:1573
-#, c-format
-msgid "SARG: Records in file: %lu, reading: %3.2f%%\n"
-msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, reading: %3.2f%%\n"
-
-#: log.c:1581
-#, c-format
-msgid "   Records read: %ld, written: %ld, excluded: %ld\n"
-msgstr "¼Í¼ ¶ÁÈ¡: %ld, ÒÑдÈë: %ld, Åųý: %ld\n"
-
-#: log.c:1603
-#, c-format
-msgid "Log with mixed records format (squid and common log)\n"
-msgstr "ÈÕÖ¾Óë¼Í¼»ìºÏ¸ñʽ(squid and common log)\n"
-
-#: log.c:1606
-#, c-format
-msgid "Common log format\n"
-msgstr "ÆÕͨÈÕÖ¾¸ñʽ\n"
-
-#: log.c:1609
-#, c-format
-msgid "Squid log format\n"
-msgstr "SquidÈÕÖ¾¸ñʽ\n"
-
-#: log.c:1612
-#, c-format
-msgid "Sarg log format\n"
-msgstr "SargÈÕÖ¾¸ñʽ\n"
+msgid "setrlimit error: %s\n"
+msgstr "setrlimit ´íÎó - %s\n"
 
-#: log.c:1615
+#. TRANSLATORS: The %s are the start and end dates in locale format.
+#: log.c:679
 #, c-format
-msgid "Log with invalid format\n"
-msgstr "²»´æÔÚµÄÈÕÖ¾¸ñʽ\n"
+msgid "Period covered by log files: %s-%s\n"
+msgstr "Æڼ䱻ÈÕÖ¾Îļþ¸²¸Ç: %s - %s\n"
 
-#: log.c:1619
+#: log.c:683
 #, c-format
 msgid "No records found\n"
 msgstr "ûÓÐÕÒµ½¼Í¼\n"
 
-#: log.c:1620 log.c:1750
+#: log.c:684 log.c:746
 #, c-format
 msgid "End\n"
 msgstr "½áÊø\n"
 
-#: log.c:1634
-#, c-format
-msgid "Period covered by log files: %s-%s\n"
+#. TRANSLATORS: The %s are the start and end dates in locale format.
+#: log.c:697
+#, fuzzy, c-format
+msgid "Period extracted from log files: %s-%s\n"
 msgstr "Æڼ䱻ÈÕÖ¾Îļþ¸²¸Ç: %s - %s\n"
 
-#: log.c:1638
+#: log.c:703
 #, c-format
 msgid "Failed to build the string representation of the date range\n"
 msgstr "½¨Á¢ÒÔ×Ö·û´®±íʾÈÕÆڵķ¶Î§Ê±Ê§°Ü\n"
 
-#: log.c:1643
-#, c-format
-msgid "date=%s\n"
-msgstr ""
-
-#: log.c:1644
-#, fuzzy, c-format
-msgid "period=%s\n"
-msgstr "ÆÚ¼ä: %s\n"
-
-#: log.c:1648
-#, c-format
-msgid "Period: %s\n"
-msgstr "ÆÚ¼ä: %s\n"
-
-#: log.c:1665
-#, fuzzy, c-format
-msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
-
-#: log.c:1669
-#, c-format
-msgid "failed to rename %s to %s - %s\n"
-msgstr "ÖØÃüÃûʧ°Ü %s ÖÁ %s - %s\n"
-
-#: log.c:1679
-#, fuzzy, c-format
-msgid "Command too long: %s \"%s\"\n"
-msgstr "·¾¶¹ý³¤ %s/%s.ip\n"
-
-#: log.c:1691
-#, c-format
-msgid "Sarg parsed log saved as %s\n"
-msgstr "Sarg½âÎöÈÕÖ¾Áí´æΪ %s\n"
-
-#: log.c:1739
+#: log.c:735
 #, c-format
 msgid "Total execution time: %.0lf seconds\n"
 msgstr ""
 
-#: log.c:1741
+#: log.c:737
 #, c-format
 msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n"
 msgstr ""
 
-#: log.c:1744
+#: log.c:740
 #, c-format
 msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n"
 msgstr ""
 
-#: log.c:1745
+#: log.c:741
 #, c-format
 msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n"
 msgstr ""
 
-#: log.c:1764
+#: log.c:760
 #, c-format
 msgid "Loading password file from %s\n"
 msgstr "¼ÓÔØÃÜÂë´ÓÎļþ %s\n"
 
-#: log.c:1767
-#, c-format
-msgid "(getusers) Cannot open file %s - %s\n"
-msgstr "(getusers) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
-
-#: log.c:1772
+#: log.c:768
 #, c-format
 msgid "Failed to move till the end of the users file %s: %s\n"
 msgstr "Òƶ¯Óû§ÎļþÖÁĩβʱʧ°Ü%s: %s\n"
 
-#: log.c:1782
+#: log.c:778
 #, c-format
 msgid "Failed to rewind the users file %s: %s\n"
 msgstr "ת´æÓû§Îļþʱʧ°Ü %s: %s\n"
 
-#: log.c:1787 util.c:1424
-#, c-format
-msgid "malloc error (%ld)\n"
-msgstr "ÄÚ´æ·ÖÒ³´íÎó (%ld)\n"
-
-#: log.c:1797
+#: log.c:793
 #, c-format
 msgid "You have an invalid user in your %s file\n"
 msgstr "ÓÐÒ»¸ö²»´æÔÚµÄÓû§ÔÚÄãµÄ %s Îļþ\n"
@@ -1882,817 +1626,624 @@ msgstr ""
 msgid "Not enough memory to read one more line from the file\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÔÙ¶ÁÈ¡ÊäÈëÈÕÖ¾Îļþ\n"
 
-#: realtime.c:56 realtime.c:63
-#, fuzzy, c-format
-msgid "Cannot create a temporary file name to produce the report: %s\n"
-msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n"
-
-#: realtime.c:71
-#, c-format
-msgid "(realtime) mkstemp error - %s\n"
-msgstr "(realtime)mkstemp ´íÎó - %s\n"
-
-#: realtime.c:76 realtime.c:224
-#, c-format
-msgid "Not enough memory to read the log file\n"
-msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n"
-
-#: realtime.c:83
-#, fuzzy, c-format
-msgid "Failed to get the %d trailing lines of %s: %s\n"
-msgstr "»ñÈ¡Îļþ´´½¨Ê±¼äʱʧ°Ü %s\n"
-
-#: realtime.c:84
+#: realtime.c:70 util.c:1124 util.c:2196 util.c:2291 util.c:2333
 #, fuzzy, c-format
-msgid "tail command: %s\n"
-msgstr "ÃüÁî: %s\n"
-
-#: realtime.c:89
-#, c-format
-msgid "Maybe a broken record or garbage was returned by %s\n"
-msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø·µ»Ø´Ó %s\n"
+msgid "Cannot stat \"%s\": %s\n"
+msgstr "²»ÄÜ¿ªÊ¼ \"%s\" - %s\n"
 
-#: realtime.c:126
-#, c-format
-msgid "The time stamp at column 1 is too long\n"
-msgstr "ʱ¼ä´ÁÔÚÁÐ1Ì«³¤\n"
+#: realtime.c:132
+msgid "Realtime"
+msgstr "ʱʵ"
 
-#: realtime.c:130
-#, fuzzy, c-format
-msgid "The time stamp decimal part at column 1 is too long\n"
-msgstr "ʱ¼ä´ÁÔÚÁÐ1Ì«³¤\n"
+#: realtime.c:133
+msgid "Auto refresh"
+msgstr "×Ô¶¯Ë¢ÐÂ"
 
 #: realtime.c:134
-#, c-format
-msgid "The connection duration at column 2 is too long\n"
-msgstr "Á¬½Ó³ÖÐøʱ¼äÔÚÁÐ2¹ý³¤\n"
-
-#: realtime.c:142
-#, c-format
-msgid "The IP address at column 3 is too long\n"
-msgstr "ÔÚÁÐ3µÄIPµØÖ·¹ý³¤\n"
-
-#: realtime.c:146
-#, c-format
-msgid "The status at column 4 is too long\n"
-msgstr "ÔÚÁÐ4µÄ״̬̫³¤\n"
-
-#: realtime.c:150
-#, c-format
-msgid "The size at column 5 is too long\n"
-msgstr "ÁÐ5µÄ´óС¹ý³¤\n"
-
-#: realtime.c:154
-#, c-format
-msgid "The action at column 6 is too long\n"
-msgstr "ÁÐ6µÄ×÷Óùý³¤\n"
-
-#: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176
-#, c-format
-msgid "The URL at column 7 is too long\n"
-msgstr "ÁÐ7µÄÁ¬½Ó¹ý³¤\n"
-
-#: realtime.c:163
-#, c-format
-msgid "The user ID at column 8 is too long\n"
-msgstr "ÁÐ8µÄÓû§ID¹ý³¤\n"
-
-#: realtime.c:180
-#, c-format
-msgid "The data at column 8 is too long\n"
-msgstr "ÁÐ8µÄÊý¾Ý¹ý³¤\n"
-
-#: realtime.c:184
-#, c-format
-msgid "The user at column 9 is too long\n"
-msgstr "ÁÐ9µÄÓû§¹ý³¤\n"
+msgid "TYPE"
+msgstr "ÀàÐÍ"
 
-#: realtime.c:217
+#: realtime.c:191
 #, c-format
-msgid "(realtime) open error %s - %s\n"
-msgstr "(realtime)´ò¿ª´íÎó %s - %s\n"
-
-#: realtime.c:232
-#, fuzzy, c-format
-msgid "Invalid time column in file %s\n"
-msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
-
-#: realtime.c:236 redirector.c:494
-#, fuzzy, c-format
-msgid "Invalid IP address in file %s\n"
-msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
+msgid "Not enough memory to read the log file\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n"
 
-#: realtime.c:240
+#: realtime.c:202
 #, fuzzy, c-format
-msgid "Invalid user name in file %s\n"
-msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n"
+msgid "Not enough memory to store %d records"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ \n"
 
-#: realtime.c:245 redirector.c:163 redirector.c:498
+#: realtime.c:213
 #, fuzzy, c-format
-msgid "Invalid URL in file %s\n"
-msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
+msgid "No log file to read the last %d lines from\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ\n"
 
-#: realtime.c:249
+#: realtime.c:218
 #, fuzzy, c-format
-msgid "Invalid access type in file %s\n"
-msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
-
-#: realtime.c:312
-msgid "Realtime"
-msgstr "ʱʵ"
-
-#: realtime.c:313
-msgid "Auto refresh"
-msgstr "×Ô¶¯Ë¢ÐÂ"
-
-#: realtime.c:314
-msgid "TYPE"
-msgstr "ÀàÐÍ"
+msgid "Failed to open the last modified log file \"%s\": %s\n"
+msgstr "תÏòÅųý´úÂëÎļþʱʧ°Ü %s: %s\n"
 
-#: redirector.c:60
+#: redirector.c:61
 #, c-format
 msgid ""
 "Invalid \"redirector_log_format\" option in your sarg.conf (too many "
 "characters before first tag)\n"
 msgstr ""
 
-#: redirector.c:74
+#: redirector.c:75
 #, c-format
 msgid ""
 "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end "
 "of tag)\n"
 msgstr ""
 
-#: redirector.c:78
+#: redirector.c:79
 #, c-format
 msgid ""
 "Invalid \"redirector_log_format\" option in your sarg.conf (too many "
 "characters in column separator)\n"
 msgstr ""
 
-#: redirector.c:83
+#: redirector.c:84
 #, fuzzy, c-format
 msgid "Parsing of tag \"%s\" in redirector log %s returned no result\n"
 msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐÄê·Ý×Ö·û´®Ì«³¤ %s\n"
 
-#: redirector.c:95
+#: redirector.c:96
 #, c-format
 msgid "Hour string too long in redirector log file %s\n"
 msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐСʱ×Ö·û´®Ì«³¤ %s\n"
 
-#: redirector.c:102
+#: redirector.c:103
 #, fuzzy, c-format
 msgid "Banning source name too long in redirector log file %s\n"
 msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐ×èÖ¹ÁбíÃû¹ý³¤ %s\n"
 
-#: redirector.c:109
+#: redirector.c:110
 #, c-format
 msgid "Banning list name too long in redirector log file %s\n"
 msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐ×èÖ¹ÁбíÃû¹ý³¤ %s\n"
 
-#: redirector.c:116
+#: redirector.c:117
 #, c-format
 msgid "IP address too long in redirector log file %s\n"
 msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐIPµØÖ·¹ý³¤ %s\n"
 
-#: redirector.c:123
+#: redirector.c:124
 #, c-format
 msgid "User ID too long in redirector log file %s\n"
 msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐÓû§Ãû¹ý³¤ %s\n"
 
-#: redirector.c:140 splitlog.c:97
+#: redirector.c:141 splitlog.c:96
 #, fuzzy, c-format
 msgid "Invalid date found in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: redirector.c:148
+#: redirector.c:149
 #, fuzzy, c-format
 msgid "Invalid time found in file %s\n"
 msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
 
-#: redirector.c:153
+#: redirector.c:154
 #, fuzzy, c-format
 msgid "Invalid redirected source in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: redirector.c:158
+#: redirector.c:159
 #, fuzzy, c-format
 msgid "Invalid redirected list in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: redirector.c:168
+#: redirector.c:164 redirector.c:511
+#, fuzzy, c-format
+msgid "Invalid URL in file %s\n"
+msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
+
+#: redirector.c:169
 #, fuzzy, c-format
 msgid "Invalid source IP in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: redirector.c:173 redirector.c:482
+#: redirector.c:174 redirector.c:495
 #, fuzzy, c-format
 msgid "Invalid user in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n"
 
-#: redirector.c:230
+#: redirector.c:231
 #, c-format
 msgid "Reading redirector log file %s\n"
 msgstr "¶ÁÈ¡Öض¨ÏòÈÕÖ¾Îļþ %s\n"
 
-#: redirector.c:257 redirector.c:262
+#: redirector.c:258 redirector.c:263
 #, c-format
 msgid ""
 "Not enough memory to store the name of the new redirector log to be read - "
 "%s\n"
 msgstr "¶ÁȡеÄÖض¨ÏòÈÕÖ¾ÎļþÃûʱûÓеÄ×ã¹»µÄÄÚ´æ - %s\n"
 
-#: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:455
-#: redirector.c:460
-#, c-format
-msgid "(squidguard) Cannot open log file %s\n"
-msgstr "(squidguard) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
-
-#: redirector.c:272
+#: redirector.c:273
 #, fuzzy, c-format
 msgid "Not enough memory to read the redirector log\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Îļþ %s\n"
 
-#: redirector.c:303
+#: redirector.c:307
 msgid "No redirector logs provided to produce that kind of report\n"
 msgstr ""
 
-#: redirector.c:322
-#, c-format
-msgid "Cannot open squidGuard config file: %s\n"
-msgstr "²»ÄÜ´ò¿ªsauidGuard ÅäÖÃÎļþ: %s\n"
-
-#: redirector.c:413
+#: redirector.c:425
 #, 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:448
+#: redirector.c:460
 msgid "Redirector report not generated because it is empty\n"
 msgstr ""
 
-#: redirector.c:465
+#: redirector.c:478
 #, fuzzy, c-format
 msgid "Not enough memory to read the processed redirector log\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n"
 
-#: redirector.c:469 redirector.c:473
+#: redirector.c:482 redirector.c:486
 msgid "Redirector report"
 msgstr "Öض¨Ïò±¨¸æ"
 
-#: redirector.c:477
+#: redirector.c:490
 msgid "RULE"
 msgstr "¹æÔò"
 
-#: redirector.c:490 repday.c:97
+#: redirector.c:503 repday.c:99
 #, c-format
 msgid "Invalid time in file %s\n"
 msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
 
-#: redirector.c:502
+#: redirector.c:507
+#, fuzzy, c-format
+msgid "Invalid IP address in file %s\n"
+msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
+
+#: redirector.c:515
 #, fuzzy, c-format
 msgid "Invalid rule in file %s\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: redirector.c:568
+#: redirector.c:584
 #, c-format
 msgid "%d error found in the log file. Some entries may be missing."
 msgid_plural "%d errors found in the log file. Some entries may be missing."
 msgstr[0] ""
 
-#: repday.c:64
-#, c-format
-msgid "Output file name too long: %s/%s/d%s.html\n"
-msgstr "Êä³öÎļþÃû¹ý³¤ %s/%s/d%s.html\n"
-
-#: repday.c:69 repday.c:122
-#, c-format
-msgid "(repday) Cannot open log file %s\n"
-msgstr "(repday) ²»ÄÜ´ò¿ªÎļþ %s\n"
-
-#: repday.c:90
+#: repday.c:92
 #, c-format
 msgid "Too many different dates in %s\n"
 msgstr "²»Í¬µÄÈÕÆÚÔÚ %s\n"
 
-#: repday.c:126
+#: repday.c:131
 msgid "Day report"
 msgstr "ÈÕ±¨"
 
 #. TRANSLATORS: It is an hour in the hourly report
-#: repday.c:145 repday.c:197
+#: repday.c:150 repday.c:202
 #, c-format
 msgid "%02dH"
 msgstr ""
 
-#: repday.c:185
+#: repday.c:190
 #, c-format
 msgid ""
 "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
 "report of user %s\n"
 msgstr ""
 
-#: repday.c:193
+#: repday.c:198
 msgid "H:M:S"
 msgstr "H:M:S"
 
-#: repday.c:237
+#: repday.c:242
 #, c-format
 msgid ""
 "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
 "user %s\n"
 msgstr ""
 
-#: report.c:88
+#: report.c:95
 #, c-format
 msgid ""
 "Cannot create the output directory name containing the period as part of the "
 "name\n"
 msgstr "²»ÄÜ´´½¨Êä³öÎļþ¼ÐÃû°üº¬ÆÚ¼äµÄ²¿·ÖÃû³Æ\n"
 
-#: report.c:93
+#: report.c:100
 #, c-format
 msgid "outdirname=%s\n"
 msgstr ""
 
-#: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468
-#: report.c:752
-#, c-format
-msgid "(report) Cannot open file %s\n"
-msgstr "(report) ²»ÄÜ´ò¿ªÎļþ %s\n"
-
-#: report.c:120
-#, fuzzy, c-format
-msgid "(report) directory entry too long: %s/%s.user_log\n"
-msgstr "(report) Îļþ¼Ð¹ý³¤ %s/%s\n"
-
-#: report.c:175
+#: report.c:185
 #, c-format
 msgid "There is a broken smart info in file %s\n"
 msgstr "Óв»ÍêÕûµÄÖÇÄÜÐÅÏ¢ÔÚÎļþ %s\n"
 
-#: report.c:257
+#: report.c:267
 msgid "Site access report"
 msgstr "Õ¾µã·ÃÎʱ¨¸æ"
 
-#: report.c:267
+#: report.c:283
+#, fuzzy
+msgid "Accessed site: "
+msgstr "ÒÑÅųýÕ¾µã: %s\n"
+
+#: report.c:286
+msgid "IP"
+msgstr ""
+
+#: report.c:287
 #, fuzzy
 msgid "DATE"
 msgstr "ÈÕÆÚ/ʱ¼ä"
 
-#: report.c:331
-#, fuzzy, c-format
-msgid "Failed to close temporary file for user %s - %s\n"
-msgstr "¹Ø±ÕÓû§ÈÕÖ¾Îļþʧ°Ü %s - %s\n"
+#: report.c:287
+#, fuzzy
+msgctxt "wall clock"
+msgid "TIME"
+msgstr "ʱ¼ä"
 
-#: report.c:350
+#: report.c:379
 msgid ""
 "Dansguardian report not produced because no dansguardian configuration file "
 "was provided\n"
 msgstr ""
 
-#: report.c:361
+#: report.c:390
 msgid "Downloaded files report not requested in report_type\n"
 msgstr ""
 
-#: report.c:366
+#: report.c:395
 msgid "Top sites report not requested in report_type\n"
 msgstr ""
 
-#: report.c:371
+#: report.c:400
 msgid "Sites & users report not requested in report_type\n"
 msgstr ""
 
-#: report.c:376
+#: report.c:405
 msgid "Denied accesses report not requested in report_type\n"
 msgstr ""
 
-#: report.c:381
+#: report.c:410
 msgid "Authentication failures report not requested in report_type\n"
 msgstr ""
 
-#: report.c:393
+#: report.c:422
 msgid "User's detailed report not requested in report_type\n"
 msgstr ""
 
-#: report.c:398
+#: report.c:427
 #, c-format
 msgid "Successful report generated on %s\n"
 msgstr "³É¹¦µÄÉú³É±¨¸æÔÚ %s\n"
 
-#: report.c:403
+#: report.c:432
 #, c-format
 msgid "Successful report generated and sent to %s\n"
 msgstr "³É¹¦µÄ±¨¸æÉú³É²¢·¢ËÍÖÁ %s\n"
 
-#: report.c:420
+#: report.c:449
 #, c-format
 msgid "Making file: %s/%s\n"
 msgstr "Éú³ÉÎļþ: %s/%s\n"
 
-#: report.c:422
-#, c-format
-msgid "Temporary file name too long: %s/%s.utmp\n"
-msgstr "ÁÙʱÎļþÃû¹ý³¤: %s/%s.utmp\n"
-
-#: report.c:463
-#, c-format
-msgid "Path too long %s/%s.ip\n"
-msgstr "·¾¶¹ý³¤ %s/%s.ip\n"
-
-#: report.c:491
+#: report.c:531
 #, fuzzy, c-format
 msgid "Failed to write a line in %s\n"
 msgstr "дÈëµÚÒ»ÐÐʱʧ°Ü %s\n"
 
-#: report.c:513
+#: report.c:553
 #, c-format
 msgid "Failed to write the total line in %s\n"
 msgstr "дÈëµÚÒ»ÐÐʱʧ°Ü %s\n"
 
-#: report.c:539
+#: report.c:579
 #, c-format
 msgid "Invalid total number of accesses in %s\n"
 msgstr "²»´æÔڵķÃÎÊ×ÜÊýÔÚ %s\n"
 
-#: report.c:556
+#: report.c:596
 #, c-format
 msgid "Invalid total size in %s\n"
 msgstr "²»´æÔÚµÄ×Ü´óСÔÚ %s\n"
 
-#: report.c:573
+#: report.c:613
 #, c-format
 msgid "Invalid total elapsed time in %s\n"
 msgstr "²»´æÔÚ×ܵĹýȥʱ¼äÔÚ %s\n"
 
-#: report.c:590
+#: report.c:630
 #, c-format
 msgid "Invalid total cache hit in %s\n"
 msgstr "²»´æÔڵĻº´æÃüÖÐ×ÜÊý %s\n"
 
-#: report.c:607
+#: report.c:647
 #, c-format
 msgid "Invalid total cache miss in %s\n"
 msgstr "²»´æÔڵĻº´æδÃüÖÐ×ÜÊý %s\n"
 
-#: report.c:617
+#: report.c:657
 #, c-format
 msgid "User name too long or invalid in %s\n"
 msgstr "Óû§Ãû¹ý³¤»òÕß²»´æÔÚ %s\n"
 
-#: report.c:633
+#: report.c:673
 #, c-format
 msgid "Invalid number of accesses in %s\n"
 msgstr "²»´æÔڵķÃÎÊÊý %s\n"
 
-#: report.c:650
+#: report.c:690
 #, c-format
 msgid "Invalid number of bytes in %s\n"
 msgstr "²»´æÔÚ×Ö½ÚÊýz %s\n"
 
-#: report.c:659
+#: report.c:699
 #, c-format
 msgid "URL too long or invalid in %s\n"
 msgstr "Á¬½Ó¹ý³¤»ò²»´æÔÚ %s\n"
 
-#: report.c:667
+#: report.c:707
 #, c-format
 msgid "IP address too long or invalid in %s\n"
 msgstr "IPµØÖ·¹ý³¤»ò²»´æÔÚ %s\n"
 
-#: report.c:675
+#: report.c:715
 #, c-format
 msgid "Time too long or invalid in %s\n"
 msgstr "ʱ¼ä¹ý³¤»ò²»´æÔÚ %s\n"
 
-#: report.c:683
+#: report.c:723
 #, c-format
 msgid "Date too long or invalid in %s\n"
 msgstr "ÈÕÆÚ¹ý³¤»ò²»´æÔÚz %s\n"
 
-#: report.c:699
+#: report.c:739
 #, c-format
 msgid "Invalid elapsed time in %s\n"
 msgstr "²»´æÔڵĵĹýȥʱ¼äÔÚ %s\n"
 
-#: report.c:716
+#: report.c:756
 #, c-format
 msgid "Invalid cache hit size in %s\n"
 msgstr "²»´æÔڵĻº´æÃüÖдóСÔÚ %s\n"
 
-#: report.c:733
+#: report.c:773
 #, c-format
 msgid "Invalid cache miss size in %s\n"
 msgstr "²»´æÔÚ»º´æδÃüÖдóСÔÚ %s\n"
 
-#: report.c:747
-#, fuzzy, c-format
-msgid "File name too long for %s/smartfilter.int_unsort\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
-
 #: siteuser.c:52
 msgid "Sites and users report not generated because privacy option is on\n"
 msgstr ""
 
-#: siteuser.c:74 siteuser.c:80
+#: siteuser.c:57
 #, c-format
-msgid "(siteuser) Cannot open log file %s\n"
-msgstr "(siteuser) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+msgid "Creating report to list who visisted what site...\n"
+msgstr ""
 
-#: siteuser.c:84 siteuser.c:88 topuser.c:236
+#: siteuser.c:86 siteuser.c:90 topuser.c:247
 msgid "Sites & Users"
 msgstr "Õ¾µã & Óû§"
 
-#: smartfilter.c:57
-#, fuzzy, c-format
-msgid "File name too long: %s/smartfilter.int_unsort\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
-
-#: smartfilter.c:61
-#, fuzzy, c-format
-msgid "File name too long: %s/sarg-sites\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
-
-#: smartfilter.c:65
-#, fuzzy, c-format
-msgid "File name too long: %s/smartfilter.int_log\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
-
-#: smartfilter.c:69
-#, fuzzy, c-format
-msgid "File name too long: %s/smartfilter.html\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n"
-
-#: smartfilter.c:74
+#: smartfilter.c:77
 #, c-format
 msgid "cannot build the sort command to sort file %s\n"
 msgstr "²»Äܹ¹½¨ÅÅÐòÃüÁîÀ´ÅÅÐòÎļþ %s\n"
 
-#: smartfilter.c:84 smartfilter.c:94
-#, c-format
-msgid "(smartfilter) Cannot open log file %s\n"
-msgstr "(smartfilter)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
-
-#: smartfilter.c:109 topuser.c:242
+#: smartfilter.c:112 topuser.c:253
 msgid "SmartFilter"
 msgstr "ÖÇÄܹýÂË"
 
-#: smartfilter.c:116 smartfilter.c:183
+#: smartfilter.c:119 smartfilter.c:190
 msgid "SMARTFILTER"
 msgstr ""
 
-#: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617
-msgid "Generated by"
-msgstr "ÓÉ Éú³É"
-
-#: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617
-msgid "on"
-msgstr "on"
-
-#: smartfilter.c:146
+#: smartfilter.c:143 smartfilter.c:202 smartfilter.c:217 util.c:1943
 #, c-format
-msgid "(smartfilter) Cannot open file %s\n"
-msgstr "(smartfilter) ²»ÄÜ´ò¿ªÎļþ %s\n"
-
-#: sort.c:66
-#, fuzzy, c-format
-msgid "File name too long: %s/%s.utmp\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
-
-#: sort.c:70
-#, fuzzy, c-format
-msgid "File name too long: %s/htmlrel.txt\n"
-msgstr "ÊäÈëµÄÃû³Æ¹ý³¤: %s/%s\n"
+msgid "Generated by <a href=\"%s\">%s-%s</a> on %s"
+msgstr ""
 
-#: sort.c:118
+#: sort.c:120
 #, fuzzy, c-format
 msgid "Sorting log %s/%s.user_unsort\n"
 msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n"
 
-#: sort.c:125
-#, c-format
-msgid "user name too long to sort %s\n"
-msgstr "Óû§Ãû¹ý³¤ÎÞ·¨ÅÅÐò %s\n"
-
-#: sort.c:135
+#. TRANSLATORS: The message is followed by the command that is too long.
+#: sort.c:128
 #, fuzzy, c-format
-msgid "user name too long for %s/%s.user_unsort\n"
-msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n"
+msgid "User name too long to sort with command "
+msgstr "Óû§Ãû¹ý³¤ÎÞ·¨ÅÅÐò %s\n"
 
-#: sort.c:156 topuser.c:171
+#: sort.c:162 topuser.c:182
 msgid "connect"
 msgstr ""
 
-#: sort.c:158
+#: sort.c:164
 #, fuzzy
 msgid "site"
 msgstr "ÈÈÃÅÕ¾µã"
 
-#: sort.c:160 topuser.c:174
+#: sort.c:166 topuser.c:185
 #, fuzzy
+msgctxt "duration"
 msgid "time"
 msgstr "ʱʵ"
 
-#: sort.c:162 topuser.c:176
+#: sort.c:168 topuser.c:187
 msgid "bytes"
 msgstr ""
 
-#: sort.c:166 topuser.c:181
+#: sort.c:172 topuser.c:192
 msgid "normal"
 msgstr ""
 
-#: sort.c:168 topuser.c:184
+#: sort.c:174 topuser.c:195
 msgid "reverse"
 msgstr ""
 
-#: splitlog.c:70
-#, c-format
-msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n"
-msgstr ""
-
-#: splitlog.c:84
-#, fuzzy, c-format
-msgid "(splitlog) Cannot open log file %s - %s\n"
-msgstr "(splitlog) ÎÞ·¨´ò¿ªÈÕÖ¾Îļþ %s\n"
-
-#: splitlog.c:124
-#, fuzzy, c-format
-msgid "(splitlog) Cannot open output log file %s - %s\n"
-msgstr "(splitlog) ÎÞ·¨´ò¿ªÈÕÖ¾Îļþ %s\n"
-
 #: topsites.c:72
 msgid "Top sites report not produced because privacy option is on\n"
 msgstr ""
 
-#: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228
+#: topsites.c:76
 #, c-format
-msgid "(topsites) Cannot open log file %s\n"
-msgstr "(topsites) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+msgid "Creating top sites report...\n"
+msgstr ""
 
-#: topsites.c:179
+#: topsites.c:187
 #, c-format
 msgid "Total statistics mismatch when reading %s to produce the top sites\n"
 msgstr ""
 
-#: topsites.c:232 topuser.c:235
+#: topsites.c:240 topuser.c:246
 msgid "Top sites"
 msgstr "ÈÈÃÅÕ¾µã"
 
-#: topsites.c:237
+#: topsites.c:245
 #, c-format
 msgid "Top %d sites"
 msgstr "ÈÈÃÅ %d Õ¾µã"
 
-#: topsites.c:280
+#: topsites.c:288
 #, fuzzy, c-format
 msgid "The number of users is invalid in file %s\n"
 msgstr "Õâ¸öÁ¬½Ó²»´æÔÚÔÚÎļþ %s\n"
 
-#: topsites.c:284
+#: topsites.c:292
 #, c-format
 msgid "The url is invalid in file %s\n"
 msgstr "Õâ¸öÁ¬½Ó²»´æÔÚÔÚÎļþ %s\n"
 
-#: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211
-#, c-format
-msgid "(topuser) Cannot open file %s\n"
-msgstr "(topuser) ²»ÄÜ´ò¿ªÎļþ %s\n"
+#: topuser.c:88
+#, fuzzy, c-format
+msgid "Creating top users report...\n"
+msgstr "±ê¼ÇµÄÓû§´úÀí±¨¸æ\n"
 
-#: topuser.c:101 util.c:748
+#: topuser.c:106 util.c:903
 #, c-format
 msgid "Not enough memory to read the file %s\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Îļþ %s\n"
 
-#: topuser.c:159
+#: topuser.c:170
 #, c-format
 msgid "Total statistics mismatch when reading %s to produce the top users\n"
 msgstr ""
 
-#: topuser.c:168
+#: topuser.c:179
 #, fuzzy
 msgid "user"
 msgstr "Óû§"
 
-#: topuser.c:215
+#: topuser.c:226
 #, c-format
 msgid "SARG report for %s"
 msgstr "SARG ±¨¸æ %s"
 
-#: topuser.c:222
+#: topuser.c:233
 #, c-format
 msgid "Sort: %s, %s"
 msgstr ""
 
-#: topuser.c:224
+#: topuser.c:235
 msgid "Top users"
 msgstr "ÈÈÃÅÓû§"
 
 #. TRANSLATORS: This is the title of the main report page when no
 #. * top users list are requested.
 #.
-#: topuser.c:229
+#: topuser.c:240
 msgid "Table of content"
 msgstr ""
 
-#: topuser.c:238
+#: topuser.c:249
 msgid "Redirector"
 msgstr "Öض¨Ïò"
 
-#: topuser.c:240
+#: topuser.c:251
 msgid "Denied accesses"
 msgstr "×èÖ¹·ÃÎÊ"
 
-#: topuser.c:243
+#: topuser.c:254
 msgid "Useragent"
 msgstr "Óû§´úÀí"
 
-#: topuser.c:250
+#: topuser.c:264
 msgid "No top users report because it is not configured in report_type\n"
 msgstr ""
 
-#: topuser.c:300
+#: topuser.c:288
+#, fuzzy
+msgid "USERIP"
+msgstr "Óû§ID"
+
+#: topuser.c:319
 #, c-format
 msgid "There is a broken user in file %s\n"
 msgstr "Óв»ÍêÕûµÄÓû§ÔÚÎļþ %s\n"
 
-#: topuser.c:312
+#: topuser.c:331
 #, c-format
 msgid "There is a broken elpased time in file %s\n"
 msgstr "Óв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÎļþ %s\n"
 
-#: topuser.c:316
+#: topuser.c:335
 #, c-format
 msgid "There is a broken in-cache size in file %s\n"
 msgstr "Óв»ÍêÕûµÄ in-cache ´óСÔÚÎļþ %s\n"
 
-#: topuser.c:320
+#: topuser.c:339
 #, c-format
 msgid "There is a broken out-of-cache size in file %s\n"
 msgstr "Óв»ÍêÕûµÄ out-of-cache ´óСÔÚÎļþ %s\n"
 
-#: topuser.c:352
+#: topuser.c:369
 msgid "Graphic"
 msgstr "ÊÓͼ"
 
-#: topuser.c:390
+#: topuser.c:406
 #, c-format
 msgid ""
 "The total of the in-cache and cache-miss is not 100%% at position %d (user "
 "%s)\n"
 msgstr ""
 
-#: topuser.c:441
+#: topuser.c:463
 #, c-format
 msgid "The total of the in-cache and cache-miss is not 100%%\n"
 msgstr ""
 
-#: topuser.c:481
-#, c-format
-msgid "Write error in top user list %s\n"
-msgstr "дÈë´íÎóÔÚÈÈÃÅÓû§Áбí %s\n"
-
-#: topuser.c:483
-#, c-format
-msgid "Failed to close the top user list %s - %s\n"
-msgstr "¹Ø±Õ»îÔ¾Óû§Áбíʱʧ°Ü %s - %s\n"
-
 #: totday.c:53
 #, fuzzy, c-format
 msgid "Not enough memory to store the daily statistics\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥´æ´¢Á¬½Ó\n"
 
-#: totday.c:104
+#: totday.c:105
 #, c-format
 msgid "Invalid date \"%s\" for the hourly statistics\n"
 msgstr ""
 
-#: totday.c:108
+#: totday.c:109
 #, c-format
 msgid "Invalid date component in \"%s\" for the hourly statistics\n"
 msgstr ""
 
-#: totday.c:113
+#: totday.c:114
 #, c-format
 msgid "Invalid hour %d for the hourly statistics\n"
 msgstr ""
 
-#: totday.c:121
+#: totday.c:122
 #, fuzzy, c-format
 msgid "Too many different dates for the hourly statistics\n"
 msgstr "²»Í¬µÄÈÕÆÚÔÚ %s\n"
 
-#: totday.c:153
-#, c-format
-msgid "File name too long: %s/%s%s\n"
-msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
-
-#: totday.c:158
-#, c-format
-msgid "(totday) Cannot open log file %s\n"
-msgstr "(today) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
-
-#: totday.c:166
+#: totday.c:168
 #, fuzzy, c-format
 msgid "Invalid day index found in the hourly statistics\n"
 msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
@@ -2728,54 +2279,54 @@ msgstr ""
 msgid "Failed to compile the regular expression \"%s\": %s\n"
 msgstr "ת´æÓû§Îļþʱʧ°Ü %s: %s\n"
 
-#: url.c:549
+#: url.c:550
 #, c-format
 msgid ""
 "PCRE not compiled in therefore the regular expressions are not available in "
 "the host alias file\n"
 msgstr ""
 
-#: url.c:580
+#: url.c:581
 #, fuzzy, c-format
 msgid "Reading host alias file \"%s\"\n"
 msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s\n"
 
-#: url.c:583
+#: url.c:584
 #, fuzzy, c-format
-msgid "Cannot read host name alias file \"%s\" - %s\n"
+msgid "Cannot read host name alias file \"%s\": %s\n"
 msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n"
 
-#: url.c:588
+#: url.c:589
 #, fuzzy, c-format
 msgid "Not enough memory to read the host name aliases\n"
 msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ\n"
 
-#: url.c:607
+#: url.c:611
 #, c-format
 msgid "List of host names to alias:\n"
 msgstr ""
 
-#: url.c:610
+#: url.c:614
 #, c-format
 msgid "  %s*%s => %s\n"
 msgstr ""
 
-#: url.c:612
+#: url.c:616
 #, fuzzy, c-format
 msgid "  %s => %s\n"
 msgstr "´´½¨Ä¿Â¼ %s %s\n"
 
-#: url.c:614
+#: url.c:618
 #, c-format
 msgid "  *%s => %s\n"
 msgstr ""
 
-#: url.c:617
+#: url.c:621
 #, c-format
 msgid "  %d.%d.%d.%d/%d => %s\n"
 msgstr ""
 
-#: url.c:620
+#: url.c:624
 #, c-format
 msgid "  %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n"
 msgstr ""
@@ -2924,17 +2475,16 @@ msgstr "     -x 
 msgid "     -z             Process messages"
 msgstr "     -z ½ø³ÌÐÅÏ¢"
 
-#: useragent.c:65 useragent.c:70 useragent.c:146 useragent.c:158
-#: useragent.c:229 useragent.c:240 useragent.c:298
-#, c-format
-msgid "(useragent) Cannot open file %s\n"
-msgstr "(useragent) ²»ÄÜ´ò¿ªÎļþ %s\n"
-
 #: useragent.c:75
 #, c-format
 msgid "Reading useragent log: %s\n"
 msgstr "¶ÁÈ¡Óû§´úÀíÈÕÖ¾: %s\n"
 
+#: useragent.c:89
+#, c-format
+msgid "Maybe you have a broken date in your %s file\n"
+msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖÐ\n"
+
 #: useragent.c:100
 #, c-format
 msgid "Maybe you have a broken useragent entry in your %s file\n"
@@ -2945,282 +2495,328 @@ msgstr "
 msgid "   Records read: %ld\n"
 msgstr "   ¼Í¼ ¶ÁÈ¡: %ld\n"
 
-#: useragent.c:163
+#: useragent.c:166
 #, c-format
 msgid "Making Useragent report\n"
 msgstr "±ê¼ÇµÄÓû§´úÀí±¨¸æ\n"
 
-#: useragent.c:165 useragent.c:166
+#: useragent.c:168 useragent.c:169
 msgid "Squid Useragent's Report"
 msgstr "SquidÓû§´úÀíµÄ±¨¸æ"
 
-#: useragent.c:175 useragent.c:311
+#: useragent.c:178 useragent.c:320
 msgid "AGENT"
 msgstr "´úÀí"
 
-#: useragent.c:180 useragent.c:250
+#: useragent.c:183 useragent.c:256
 #, c-format
 msgid "There is an invalid IP address in file %s\n"
 msgstr "ÓÐÒ»¸öÎÞЧµÄIPµØÖ·ÔÚÎļþ %s\n"
 
-#: useragent.c:193 useragent.c:254 useragent.c:318
+#: useragent.c:196 useragent.c:260 useragent.c:327
 #, c-format
 msgid "There is an invalid useragent in file %s\n"
 msgstr "ÓÐÒ»¸öÎÞЧµÄÓû§´úÀíÔÚÎļþ %s\n"
 
-#: userinfo.c:81
-#, c-format
-msgid "Not enough memory to store the user\n"
-msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ \n"
+#: userinfo.c:82
+#, fuzzy, c-format
+msgid "Not enough memory to store the user's strings\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
+
+#: userinfo.c:96
+#, fuzzy, c-format
+msgid "Not enough memory to store user \"%s\"\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
 
-#: usertab.c:64
+#: userinfo.c:109
+#, fuzzy, c-format
+msgid "Not enough memory to store user ID \"%s\"\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
+
+#: userinfo.c:165
+#, fuzzy, c-format
+msgid "Not enough memory to store the file name for user \"%s\"\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
+
+#: userinfo.c:195
+#, fuzzy, c-format
+msgid "Not enough memory to store label \"%s\" of user \"%s\"\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
+
+#: userinfo.c:318
+#, fuzzy, c-format
+msgid "Reading user alias file \"%s\"\n"
+msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s\n"
+
+#: userinfo.c:322
+#, fuzzy, c-format
+msgid "Cannot store user's aliases\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
+
+#: userinfo.c:328
+#, fuzzy, c-format
+msgid "Cannot read user name alias file \"%s\": %s\n"
+msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n"
+
+#: userinfo.c:333
+#, fuzzy, c-format
+msgid "Not enough memory to read the user name aliases\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ\n"
+
+#: userinfo.c:351
 #, c-format
-msgid "(usertab) Cannot open file %s - %s\n"
-msgstr "(usertab) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
+msgid "List of user names to alias:\n"
+msgstr ""
 
-#: usertab.c:68
+#: usertab.c:83
 #, c-format
 msgid "Failed to move till the end of the usertab file %s: %s\n"
 msgstr "ÎÞ·¨Òƶ¯Ö±µ½Óû§±íÎļþĩβ %s: %s\n"
 
-#: usertab.c:78
+#: usertab.c:93
 #, c-format
 msgid "Failed to rewind the usertab file %s: %s\n"
 msgstr "ÎÞ·¨×ª»ØÓû§±íÎļþ %s: %s\n"
 
-#: usertab.c:82
+#: usertab.c:97
 #, c-format
 msgid "ERROR: Cannot load. Memory fault\n"
 msgstr "´íÎó: ²»ÄÜÔØÈë. ÄÚ´æ´íÎó \n"
 
-#: usertab.c:93 usertab.c:102
+#: usertab.c:108 usertab.c:117
 #, c-format
 msgid "The list of the users is too long in your %s file.\n"
 msgstr "Óû§Áбí¹ý³¤ÔÚÄãµÄ %s Îļþ.\n"
 
-#: usertab.c:149
+#: usertab.c:167
 #, fuzzy, c-format
 msgid "Cannot prepare ldap URI for server %s on port %d\n"
 msgstr "²»ÄÜÁ¬½ÓÖÁLDAP·þÎñÆ÷ %s Ê¹Óö˿ڠ%d\n"
 
-#: usertab.c:155
+#: usertab.c:173
 #, fuzzy, c-format
 msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n"
 msgstr "²»ÄÜÁ¬½ÓÖÁLDAP·þÎñÆ÷ %s Ê¹Óö˿ڠ%d\n"
 
-#: usertab.c:161
+#: usertab.c:179
 #, c-format
 msgid "Could not disable LDAP_OPT_REFERRALS\n"
 msgstr ""
 
-#: usertab.c:166
+#: usertab.c:184
 #, c-format
 msgid "Could not set LDAP protocol version %d\n"
 msgstr "²»ÄÜÉèÖÃLDAPЭÒé°æ±¾ %d\n"
 
-#: usertab.c:173
+#: usertab.c:191
 #, c-format
 msgid "Cannot bind to LDAP server: %s\n"
 msgstr "²»ÄÜ°ó¶¨ÖÁLDAP·þÎñÆ÷: %s\n"
 
-#: usertab.c:234
+#: usertab.c:200
+#, fuzzy, c-format
+msgid "iconv cannot convert from UTF-8 to %s: %s\n"
+msgstr "(grepday) iconv ²»ÄÜת»»´Ó %s µ½ UTF-8 - %s\n"
+
+#: usertab.c:228
+#, fuzzy, c-format
+msgid ""
+"Not enough memory to convert a LDAP returned string: %lu bytes required\n"
+msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢ÎļþÃûÔÚ \"%s\" ÔÚË÷ÒýÖÐ\n"
+
+#: usertab.c:239
+#, c-format
+msgid "iconv failed in string \"%s\":\n"
+msgstr ""
+
+#: usertab.c:243
+#, c-format
+msgid "Invalid multibyte sequence.\n"
+msgstr ""
+
+#: usertab.c:246
+#, c-format
+msgid "Incomplete multibyte sequence.\n"
+msgstr ""
+
+#: usertab.c:249
+#, c-format
+msgid "No more room.\n"
+msgstr ""
+
+#: usertab.c:252
+#, fuzzy, c-format
+msgid "Error: %s.\n"
+msgstr "ÆÚ¼ä: %s\n"
+
+#: usertab.c:315
 #, c-format
 msgid "LDAP search failed: %s\n"
 msgstr "LDAPËÑË÷ʧ°Ü: %s\n"
 
-#: usertab.c:235
+#: usertab.c:316
 #, c-format
 msgid "looking for \"%s\" at or below \"%s\"\n"
 msgstr ""
 
-#: usertab.c:266 usertab.c:276
+#: usertab.c:348 usertab.c:358
 #, c-format
 msgid "Loading User table: %s\n"
 msgstr "ÔØÈëÓû§±í: %s\n"
 
-#: usertab.c:271
+#: usertab.c:353
 #, c-format
 msgid "LDAP module not compiled in sarg\n"
 msgstr "LDAPÄ£¿éûÓбàÒëÔÚsargÖÐ\n"
 
-#: util.c:55
+#: util.c:65
 #, c-format
 msgid "getword backtrace:\n"
 msgstr "getword »ØËÝ:\n"
 
-#: util.c:74
+#: util.c:84
 #, c-format
 msgid "Cannot parse again the line as it was modified\n"
 msgstr "²»ÄÜÔٴνâÎöÒòΪËüÒѾ­±»ÐÞ¸Ä\n"
 
-#: util.c:86
+#. TRANSLATORS: The %s is the name of the function reporting the
+#. error message.
+#.
+#: util.c:100 util.c:140 util.c:166
 #, c-format
-msgid "getword loop detected after %d bytes.\n"
+msgid "End of word not found in %s after %d bytes.\n"
 msgstr ""
 
-#: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233
+#: util.c:101 util.c:141 util.c:167 util.c:212 util.c:250 util.c:288
+#: util.c:310 util.c:328
 #, c-format
 msgid "Line=\"%s\"\n"
 msgstr ""
 
-#: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234
+#: util.c:102 util.c:142 util.c:168 util.c:213 util.c:251 util.c:289
+#: util.c:311 util.c:329
 #, c-format
 msgid "Record=\"%s\"\n"
 msgstr ""
 
-#: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235
+#: util.c:103 util.c:143 util.c:169 util.c:214 util.c:252 util.c:290
+#: util.c:330
 #, c-format
 msgid "searching for 'x%x'\n"
 msgstr ""
 
-#: util.c:127
-#, c-format
-msgid "getword_multisep loop detected.\n"
-msgstr ""
-
-#: util.c:154
-#, c-format
-msgid "getword_skip loop detected after %d bytes.\n"
-msgstr ""
-
-#: util.c:187
-#, c-format
-msgid "Integer overflow detected in getword_atoll in line %s\n"
-msgstr ""
-
-#: util.c:193
-#, c-format
-msgid "getword_atoll loop detected after %d bytes.\n"
-msgstr ""
+#. TRANSLATORS: The first %s is the function name (in the source code) where the
+#. overflow is detected.
+#.
+#: util.c:202 util.c:243 util.c:281 util.c:321
+#, fuzzy, c-format
+msgid "Integer overflow detected in %s in line %s\n"
+msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 
-#: util.c:226
+#. TRANSLATORS: The %s is the function name, in the source code, where the problem occured.
+#.
+#: util.c:211 util.c:249 util.c:287 util.c:327
 #, c-format
-msgid "Integer overflow detected in getword_atoi in line %s\n"
+msgid "End of number not found in %s after %d bytes.\n"
 msgstr ""
 
-#: util.c:232
+#: util.c:309
 #, c-format
-msgid "getword_atoi loop detected after %d bytes.\n"
+msgid "getword_atolu got a negative number.\n"
 msgstr ""
 
-#: util.c:263
+#: util.c:356
 #, c-format
 msgid "Invalid buffer passed to getword_ptr\n"
 msgstr "²»´æÔڵĻº³åÇø´«µÝ¸ø getword_ptr\n"
 
-#: util.c:317
+#: util.c:421
 #, c-format
 msgid "Invalid path (%s). Please, use absolute paths only.\n"
 msgstr ""
 "²»´æÔڵķ¾¶ (%s).\n"
 " Çë½öʹÓþø¶Ô·¾¶.\n"
 
-#: util.c:324
-#, c-format
-msgid "directory name too long: %s\n"
-msgstr "Îļþ¼ÐÃû¹ý³¤: %s\n"
-
-#: util.c:358
+#: util.c:463
 #, 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:433
-msgid ""
-"January,February,March,April,May,June,July,August,September,October,November,"
-"December"
-msgstr "Ò»ÔÂ,¶þÔÂ,ÈýÔÂ,ËÄÔÂ,ÎåÔÂ,ÁùÔÂ,ÆßÔÂ,°ËÔÂ,¾ÅÔÂ,Ê®ÔÂ,ʮһÔÂ,Ê®¶þÔÂ"
-
-#: util.c:438 util.c:442
-#, c-format
-msgid ""
-"The internal list of month names is invalid. Please report this bug to the "
-"translator.\n"
-msgstr ""
-
-#: util.c:458
+#: util.c:566
 msgid "SARG: "
 msgstr "SARG: "
 
-#: util.c:475
+#: util.c:598
 #, fuzzy
 msgid "SARG: (info) "
 msgstr "SARG: "
 
-#: util.c:660
+#: util.c:776 util.c:782 util.c:844 util.c:850 util.c:887 util.c:893
+#: util.c:1119 util.c:1129 util.c:1443
+#, fuzzy, c-format
+msgid "Buffer too small to store "
+msgstr "Óû§Ãû¹ý³¤ÎÞ·¨ÅÅÐò %s\n"
+
+#: util.c:793
 #, c-format
 msgid "Failed to read the date in %s\n"
 msgstr "¶ÁÈ¡ÈÕÆÚʧ°Ü %s\n"
 
-#: util.c:716
+#: util.c:860
 #, c-format
 msgid "Failed to read the number of users in %s\n"
 msgstr "¶ÁÈ¡Óû§Êýʧ°Ü %s\n"
 
-#: util.c:761
+#: util.c:916
 #, c-format
 msgid "There is a invalid user in file %s\n"
 msgstr "Óв»´æÔÚµÄÓû§ÔÚÎļþ %s\n"
 
-#: util.c:767
+#: util.c:922
 #, c-format
 msgid "There a broken total number of access in file %s\n"
 msgstr "Óв»ÍêÕûµÄ·ÃÎÊ×ÜÊýÔÚÎļþ %s\n"
 
-#: util.c:926
+#: util.c:1100
 #, c-format
 msgid "Cannot copy images to target directory %simages\n"
 msgstr "²»ÄÜ¿½±´¾µÏñµ½Ä¿±êÎļþ¼Ð %simages\n"
 
-#: util.c:939
-#, c-format
-msgid "(util) Can't open directory %s: %s\n"
-msgstr "(util) ²»ÄÜ´ò¿ªÎļþ¼Ð %s: %s\n"
-
-#: util.c:947
-#, c-format
-msgid "Cannot stat \"%s\" - %s\n"
-msgstr "²»ÄÜ¿ªÊ¼ \"%s\" - %s\n"
-
-#: util.c:958
+#: util.c:1139
 #, c-format
 msgid "Failed to copy image %s to %s\n"
 msgstr "¿½±´¾µÏñʧ°Ü %s µ½  %s\n"
 
-#: util.c:964 util.c:967
-msgid "Cannot open file"
-msgstr "²»ÄÜ´ò¿ªÎļþ"
-
-#: util.c:1054 util.c:1077
+#: util.c:1403 util.c:1426
 #, c-format
 msgid "File %s already exists, moved to %s\n"
 msgstr "Îļþ %s ÒѾ­´æÔÚ, Òƶ¯ÖÁ %s\n"
 
-#: util.c:1095
-#, c-format
-msgid "cannot open %s for writing\n"
+#: util.c:1448
+#, fuzzy, c-format
+msgid "cannot open %s for writing: %s\n"
 msgstr "²»ÄÜ´ò¿ªÎļþ %s À´Ð´Èë\n"
 
-#: util.c:1104 util.c:1109
+#: util.c:1457
 #, c-format
 msgid "Failed to write the date in %s\n"
 msgstr "дÈëʱ¼äʱʧ°ÜÔÚw %s\n"
 
-#: util.c:1130
+#: util.c:1482
 #, fuzzy, c-format
 msgid "Invalid buffer length passed to the function to safely copy a string\n"
 msgstr "²»´æÔڵĻº³åÇø´«µÝ¸ø getword_ptr\n"
 
-#: util.c:1209
+#: util.c:1561
 #, 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:1214 util.c:1218
+#: util.c:1566 util.c:1570
 #, c-format
 msgid ""
 "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/"
@@ -3228,117 +2824,94 @@ msgid ""
 msgstr ""
 "×÷Ϊ²ÎÊýµÄÈÕÆÚÇø¼ä¸ñʽ²»ÄÜΪdd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy-dd/mm/yyyy\n"
 
-#: util.c:1231
+#: util.c:1583
 #, c-format
 msgid "Failed to get the current time\n"
 msgstr "µÃµ½×¼È·Ê±¼äʱʧ°Ü\n"
 
-#: util.c:1236
+#: util.c:1588
 #, c-format
 msgid "Invalid number of days in -d parameter\n"
 msgstr "ÎÞЧµÄÈÕÆÚÊý×ÖÔÚʹÓà-d ²ÎÊýʱ\n"
 
-#: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295
+#: util.c:1594 util.c:1618 util.c:1625 util.c:1634 util.c:1647
 #, c-format
 msgid "Cannot convert local time: %s\n"
 msgstr "²»ÄÜת»»±¾µØʱ¼ä: %s\n"
 
-#: util.c:1261
+#: util.c:1613
 #, c-format
 msgid "Invalid number of weeks in -d parameter\n"
 msgstr "ÎÞЧµÄÖÜÊý×ÖÔÚʹÓà-d ²ÎÊýʱ\n"
 
-#: util.c:1290
+#: util.c:1642
 #, c-format
 msgid "Invalid number of months in -d parameter\n"
 msgstr "ÎÞЧµÄÔ·ÝÊý×ÖÔÚʹÓà-d ²ÎÊýʱ\n"
 
-#: util.c:1324
+#: util.c:1676
 #, fuzzy, c-format
 msgid "Invalid date range passed on command line\n"
 msgstr "±äÁ¿´«µÝµÄÈÕÆÚ·¶Î§ÎÞЧ\n"
 
-#: util.c:1375
+#: util.c:1727
 #, c-format
 msgid "Purging temporary file sarg-general\n"
 msgstr "Çå³þÁÙʱÎļþsarg-general\n"
 
-#: util.c:1378
-#, c-format
-msgid "(removetmp) directory too long to remove %s/sarg-period\n"
-msgstr "(removetmp) Îļþ¼ÐÌ«³¤²»Äܱ»É¾³ý %s/sarg-period\n"
-
-#: util.c:1382
-#, c-format
-msgid "(removetmp) Cannot open file %s\n"
-msgstr "(removetmp) ²»ÄÜ´ò¿ªÎļþ %s\n"
-
-#: util.c:1387
-#, c-format
-msgid "Failed to close %s after writing the total line - %s\n"
-msgstr "дÈëËùÓÐÐÐÖ®ºó¹Ø±Õ %s Ê±Ê§°Ü - %s\n"
-
-#: util.c:1404
-#, c-format
-msgid "(util) Cannot open file %s (exclude_codes)\n"
-msgstr "(util)²»ÄÜ´ò¿ªÎļþ %s (exclude_codes)\n"
-
-#: util.c:1409
+#: util.c:1762
 #, c-format
 msgid "Failed to move till the end of the excluded codes file %s: %s\n"
 msgstr "ÔÚÅųý´úÂëÎļþ֮ǰ²»ÄÜÒƶ¯¸ÃÎļþ %s: %s\n"
 
-#: util.c:1418
+#: util.c:1771
 #, c-format
 msgid "Failed to rewind the excluded codes file %s: %s\n"
 msgstr "תÏòÅųý´úÂëÎļþʱʧ°Ü %s: %s\n"
 
-#: util.c:1435
+#: util.c:1788
 #, c-format
 msgid "Too many codes to exclude in file %s\n"
 msgstr "ÔÚÎļþÖйý¶àµÄ±àÂë±»Åųý %s\n"
 
-#: util.c:1589
-#, c-format
-msgid "Cannot get disk space because the path %s%s is too long\n"
-msgstr "²»ÄÜ»ñÈ¡´ÅÅÌ¿Õ¼äÒòΪ·¾¶ %s%s ¹ý³¤\n"
-
-#: util.c:1593
-#, c-format
-msgid "Cannot get disk space with command %s\n"
-msgstr "²»Äܵõ½´ÅÅÌ¿Õ¼äʹÓÃÃüÁî %s\n"
-
-#: util.c:1597
+#: util.c:2141
 #, c-format
-msgid "Cannot get disk size with command %s\n"
-msgstr "²»ÄÜ»ñÈ¡´ÅÅÌ´óСʹÓÃÃüÁî %s\n"
+msgid "SARG Version: %s\n"
+msgstr "SARG°æ±¾: %s\n"
 
-#: util.c:1602
+#: util.c:2144
 #, c-format
-msgid "The command %s failed\n"
-msgstr "ÃüÁî %s Ê§°Ü\n"
+msgid ""
+"\n"
+"For the translation to work, a valid message file should be installed as "
+"\"%s/<Locale>/LC_MESSAGES/%s.mo\" where <Locale> is derived from the "
+"effective locale.\n"
+msgstr ""
 
-#: util.c:1786
+#: util.c:2147
 #, c-format
-msgid "SARG Version: %s\n"
-msgstr "SARG°æ±¾: %s\n"
+msgid "Currently effective locale is \"%s\".\n"
+msgstr ""
 
-#: util.c:1818 util.c:1909 util.c:1951
+#: util.c:2149
 #, c-format
-msgid "directory name to delete too long: %s/%s\n"
-msgstr "Îļþ¼ÐÃû³ÆÌ«³¤²»ÄÜɾ³ý: %s/%s\n"
+msgid "Locale is not set in the environment variable.\n"
+msgstr ""
 
-#: util.c:1827
+#. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported.
+#: util.c:2152
 #, c-format
-msgid "cannot stat %s\n"
-msgstr "²»ÄÜ¿ªÊ¼ %s\n"
+msgid ""
+"If this message is in English, then your language is not supported or not "
+"correctly installed.\n"
+msgstr ""
 
-#: util.c:1838 util.c:1969
-#, c-format
-msgid "unknown path type %s\n"
+#: util.c:2207 util.c:2342
+#, fuzzy, c-format
+msgid "Unknown path type %s\n"
 msgstr "δ֪µÄ·¾¶ÀàÐÍ %s\n"
 
-#: util.c:1902 util.c:1944
+#: util.c:2273 util.c:2316
 #, c-format
 msgid ""
 "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of "
@@ -3346,16 +2919,561 @@ msgid ""
 "path to a safe directory or manually delete the content of \"%s\"\n"
 msgstr ""
 
-#: util.c:1919 util.c:1960
-#, fuzzy, c-format
-msgid "cannot stat \"%s\"\n"
-msgstr "²»ÄÜ¿ªÊ¼ %s\n"
-
-#: util.c:1925
+#: util.c:2297
 #, c-format
-msgid "Unknown path type \"%s\". Check your temporary directory\n"
+msgid "Unknown path type for \"%s\". Check temporary directory\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "Failed to close file \"%s\": %s\n"
+#~ msgstr "¹Ø±ÕÎļþʱʧ°Ü %s - %s\n"
+
+#, fuzzy
+#~ msgid "Read error in temporary mail file %s: %s\n"
+#~ msgstr "ÈÕÖ¾ÎļþÖеÄÓû§´æÔÚдÈë´íÎó %s\n"
+
+#, fuzzy
+#~ msgid "Write error in per user limit file %s: %s\n"
+#~ msgstr "дÈë´íÎóÔÚÈÈÃÅÓû§Áбí %s\n"
+
+#, fuzzy
+#~ msgid "Write error in %s/%s: %s\n"
+#~ msgstr "ÔÚÎļþÖÐÓÐдÈë´íÎó %s\n"
+
+#, fuzzy
+#~ msgid "Failed to close temporary file for user %s: %s\n"
+#~ msgstr "¹Ø±ÕÓû§ÈÕÖ¾Îļþʧ°Ü %s - %s\n"
+
+#, fuzzy
+#~ msgid "Error while copying image %s: %s\n"
+#~ msgstr "¿½±´¾µÏñʧ°Ü %s µ½  %s\n"
+
+#, fuzzy
+#~ msgid "Failed to write the date in %s: %s\n"
+#~ msgstr "дÈëʱ¼äʱʧ°ÜÔÚw %s\n"
+
+#, fuzzy
+#~ msgid "Failed to close %s after writing the total line: %s\n"
+#~ msgstr "дÈëËùÓÐÐÐÖ®ºó¹Ø±Õ %s Ê±Ê§°Ü - %s\n"
+
+#~ msgid "File name too long: %s/%s/.htaccess\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s/.htaccess\n"
+
+#~ msgid "(auth) Cannot open file: %s - %s\n"
+#~ msgstr "(auth) ²»ÄÜ´ò¿ªÎļþ: %s - %s\n"
+
+#~ msgid "(auth) Cannot open template file: %s - %s\n"
+#~ msgstr "(auth) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s\n"
+
+#~ msgid "(authfail) Cannot open file %s\n"
+#~ msgstr "(authfail) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#, fuzzy
+#~ msgid "(convlog) Cannot open log file %s - %s\n"
+#~ msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n"
+
+#~ msgid "Cannot open DansGuardian config file: %s\n"
+#~ msgstr "²»ÄÜ´ò¿ª DansGuardian ÅäÖÃÎļþ: %s\n"
+
+#~ msgid "(dansguardian) Cannot open log file: %s\n"
+#~ msgstr "(dansguardian) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s\n"
+
+#~ msgid "(dansguardian_report) Cannot open log file %s\n"
+#~ msgstr "(dansguardian_report) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#, fuzzy
+#~ msgid "(datafile) directory path too long: %s/%s.user_log\n"
+#~ msgstr "(datafile) Îļþ¼Ð·¾¶Ì«³¤: %s/%s\n"
+
+#~ msgid "(datafile) Cannot open file %s\n"
+#~ msgstr "(datafile) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#~ msgid "File not found: %s\n"
+#~ msgstr "δÕÒµ½Îļþ: %s\n"
+
+#~ msgid "Decompressing log file \"%s\" with bzcat\n"
+#~ msgstr "½âѹËõÎļþ \"%s\" Ê¹ÓÃbzcat\n"
+
+#~ msgid "(denied) Cannot open log file %s\n"
+#~ msgstr "(denied)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#, fuzzy
+#~ msgid "Path too long for %s/download.int_unsort\n"
+#~ msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n"
+
+#~ msgid "(download) Cannot open log file %s\n"
+#~ msgstr "(download) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#~ msgid "(email) Cannot open file %s\n"
+#~ msgstr "(email)²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "Cannot open exclude_hosts file: %s - %s\n"
+#~ msgstr "²»ÄÜ´ò¿ªexclude_hostsÎļþ: %s-%s\n"
+
+#~ msgid "(gethexclude) Cannot open file %s - %s\n"
+#~ msgstr "(gethexclude)²»ÄÜ´ò¿ªÎļþ %s - %s\n"
+
+#~ msgid "Too many log files in configuration file\n"
+#~ msgstr "ÔÚÅäÖÃÎļþÖдæÔÚ¹ý¶àµÄÈÕÖ¾Îļþ\n"
+
+#~ msgid "(getconf) Cannot open file %s\n"
+#~ msgstr "(getconf) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#, fuzzy
+#~ msgid "user name too long for %s/%s/%s\n"
+#~ msgstr "Óû§Ãû¹ý³¤ %s/%s.day\n"
+
+#~ msgid "(grepday) Cannot open log file %s\n"
+#~ msgstr "(grepday) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#~ msgid "user name too long for %s/%s.day\n"
+#~ msgstr "Óû§Ãû¹ý³¤ %s/%s.day\n"
+
+#, fuzzy
+#~ msgid "(grepday) Cannot open output file %s\n"
+#~ msgstr "(grepday) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/sargtmp.int_unsort\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/sargtmp.int_log\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
+
+#~ msgid "Destination directory too long: %s/%s\n"
+#~ msgstr "Ä¿±êĿ¼¹ý³¤: %s/%s\n"
+
+#~ msgid "(html3) Cannot open file %s\n"
+#~ msgstr "(html3) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "Output file name too long: %s/%s/%s.html\n"
+#~ msgstr "Êä³öÎļþÃû¹ý³¤: %s/%s/%s.html\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/denied_%s.html\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n"
+
+#~ msgid "(html5) Cannot open file %s\n"
+#~ msgstr "(html5) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "File name too long: %s/%s.ip\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
+
+#~ msgid "(html6) Cannot open file %s\n"
+#~ msgstr "(html6)²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "(html7) Cannot open file %s\n"
+#~ msgstr "(html7) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "(html8) Cannot open file %s\n"
+#~ msgstr "(html8) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "(html9) Cannot open file %s\n"
+#~ msgstr "(html9) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "(html10) Cannot open file %s\n"
+#~ msgstr "(html10) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "Making index.html\n"
+#~ msgstr "±ê¼Ç index.html\n"
+
+#~ msgid "Failed to open directory %s - %s\n"
+#~ msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n"
+
+#~ msgid "(index) Cannot open file %s - %s\n"
+#~ msgstr "(index) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
+
+#~ msgid "SARG: report for %04d"
+#~ msgid_plural "SARG: reports for %04d"
+#~ msgstr[0] "SARG report %04d"
+
+#~ msgid "SARG: report for %04d/%02d"
+#~ msgid_plural "SARG: reports for %04d/%02d"
+#~ msgstr[0] "SARG ±¨¸æ %04d/%02d"
+
+#~ msgid "Write error in the index %s\n"
+#~ msgstr "дÈë´íÎóµÄË÷Òý %s\n"
+
+#~ msgid "(index) Cannot open file %s\n"
+#~ msgstr "(index) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "(index) rename error from \"%s\" to \"%s\" - %s\n"
+#~ msgstr "(index)ÖØÃüÃû´íÎó´Ó \"%s\" ÖÁ \"%s\" - %s\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/lastlog1\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
+
+#~ msgid "(lastlog) Cannot open temporary file %s\n"
+#~ msgstr "(lastlog) ²»ÄÜ´ò¿ªÁÙʱÎļþ %s\n"
+
+#~ msgid "Too many log files passed on command line with option -l.\n"
+#~ msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n"
+
+#~ msgid "Log file name too long passed on command line with option -l: %s\n"
+#~ msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n"
+
+#, fuzzy
+#~ msgid "Too many log files passed on command line.\n"
+#~ msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n"
+
+#, fuzzy
+#~ msgid "Log file name too long passed on command line: %s\n"
+#~ msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n"
+
+#~ msgid "Cannot open config file: %s - %s\n"
+#~ msgstr "²»ÄÜ´ò¿ªÅäÖÃÎļþ: %s -%s\n"
+
+#~ msgid "Not enough memory to read a log file\n"
+#~ msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Ò»¸öÈÕÖ¾Îļþ\n"
+
+#~ msgid "(log) Cannot open file: %s - %s\n"
+#~ msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n"
+
+#~ msgid "Reading access log file: from stdin\n"
+#~ msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: ´Ó stdin\n"
+
+#~ msgid ""
+#~ "Cannot get the modification time of input log file %s (%s). Processing it "
+#~ "anyway\n"
+#~ msgstr "²»Äܵõ½ÊäÈëÈÕÖ¾ÎļþµÄÐÞ¸Äʱ¼ä %s (%s). ½ø³ÌÕýÔÚ¼ÌÐø\n"
+
+#~ msgid "Ignoring old log file %s\n"
+#~ msgstr "ºöÂԳ¾ɵÄÈÕÖ¾Îļþ %s\n"
+
+#~ msgid "(log) Cannot open log file: %s - %s\n"
+#~ msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n"
+
+#~ msgid "Reading access log file: %s\n"
+#~ msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s\n"
+
+#~ msgid "SARG: Records in file: %lu, reading: %3.2f%%"
+#~ msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2f%%"
+
+#~ msgid "Log is from Microsoft ISA: %s\n"
+#~ msgstr "ÈÕÖ¾À´×Ô΢ÈíISA: %s\n"
+
+#~ msgid "The name of the file is invalid: %s\n"
+#~ msgstr "ÎļþÃû²»´æÔÚ: %s\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/sarg_temp.log\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
+
+#~ msgid "SARG: Records in file: %lu, reading: %3.2lf%%"
+#~ msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2lf%%"
+
+#~ msgid "Maybe you have a broken record or garbage in your exclusion string\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¼Í¼»òÕßÀ¬»øÔÚÄãµÄ½ûÖ¹×Ö·û´®\n"
+
+#~ msgid "Maybe you have a broken time in your access.log file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄʱ¼äÔÚÄãµÄaccess.logÎļþ\n"
+
+#, fuzzy
+#~ msgid "Invalid time found in %s\n"
+#~ msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
+
+#~ msgid "Maybe you have a broken client IP address in your %s file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¿Í»§¶ËIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n"
+
+#~ msgid "Maybe you have a broken result code in your %s file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ½á¹û´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n"
+
+#~ msgid "Maybe you have a broken amount of data in your %s file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÊý¾Ý×ܺÍÔÚÄãµÄ %s ÎļþÖÐ\n"
+
+#~ msgid "Maybe you have a broken request method in your %s file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÐèÇó·½·¨ÔÚÄãµÄ %s ÎļþÖÐ\n"
+
+#~ msgid "Maybe you have a broken user ID in your %s file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÓû§IDÔÚÄãµÄ %s ÎļþÖÐ\n"
+
+#~ msgid "Cannot convert the timestamp from the squid log file\n"
+#~ msgstr "²»ÄÜת»»Ê±¼ä´Á´ÓsquidÈÕÖ¾Îļþ\n"
+
+#~ msgid "Maybe you have a broken IP in your %s file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n"
+
+#~ msgid "Maybe you have a broken download duration in your %s file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔسÖÐøʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n"
+
+#~ msgid "Maybe you have a broken download size in your %s file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔØ´óСÔÚÄãµÄ %s ÎļþÖÐ\n"
+
+#~ msgid "Maybe you have a broken access code in your %s file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n"
+
+#~ msgid "Maybe you have a broken year in your %s file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÄê·ÝÔÚÄãµÄ %s ÎļþÖÐ\n"
+
+#~ msgid "Maybe you have a broken month in your %s file\n"
+#~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s ÎļþÖÐ\n"
+
+#~ msgid "Unknown input log file format\n"
+#~ msgstr "δ֪µÄÊäÈëÈÕÖ¾Îļþ¸ñʽ\n"
+
+#~ msgid "User ID too long: %s\n"
+#~ msgstr "Óû§ID¹ý³¤: %s\n"
+
+#~ msgid "Excluded code: %s\n"
+#~ msgstr "ÒÑÅųý´úÂë: %s\n"
+
+#~ msgid "Excluded user: %s\n"
+#~ msgstr "ÒÑÅųýÓû§: %s\n"
+
+#~ msgid "Failed to close the log file of user %s - %s\n"
+#~ msgstr "¹Ø±ÕÓû§ÈÕÖ¾Îļþʧ°Ü %s - %s\n"
+
+#, fuzzy
+#~ msgid "Temporary user file name too long: %s/%s.user_unsort\n"
+#~ msgstr "ÁÙʱÓû§ÎļþÃû¹ý³¤: %s/sarg/%s.unsort\n"
+
+#~ msgid "(log) Cannot open temporary file: %s - %s\n"
+#~ msgstr "(log) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s\n"
+
+#~ msgid "SARG: Records in file: %lu, reading: %3.2f%%\n"
+#~ msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, reading: %3.2f%%\n"
+
+#~ msgid "   Records read: %ld, written: %ld, excluded: %ld\n"
+#~ msgstr "¼Í¼ ¶ÁÈ¡: %ld, ÒÑдÈë: %ld, Åųý: %ld\n"
+
+#~ msgid "Log with mixed records format (squid and common log)\n"
+#~ msgstr "ÈÕÖ¾Óë¼Í¼»ìºÏ¸ñʽ(squid and common log)\n"
+
+#~ msgid "Common log format\n"
+#~ msgstr "ÆÕͨÈÕÖ¾¸ñʽ\n"
+
+#~ msgid "Squid log format\n"
+#~ msgstr "SquidÈÕÖ¾¸ñʽ\n"
+
+#~ msgid "Sarg log format\n"
+#~ msgstr "SargÈÕÖ¾¸ñʽ\n"
+
+#~ msgid "Log with invalid format\n"
+#~ msgstr "²»´æÔÚµÄÈÕÖ¾¸ñʽ\n"
+
+#, fuzzy
+#~ msgid "period=%s\n"
+#~ msgstr "ÆÚ¼ä: %s\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
+
+#~ msgid "failed to rename %s to %s - %s\n"
+#~ msgstr "ÖØÃüÃûʧ°Ü %s ÖÁ %s - %s\n"
+
+#, fuzzy
+#~ msgid "Command too long: %s \"%s\"\n"
+#~ msgstr "·¾¶¹ý³¤ %s/%s.ip\n"
+
+#~ msgid "Sarg parsed log saved as %s\n"
+#~ msgstr "Sarg½âÎöÈÕÖ¾Áí´æΪ %s\n"
+
+#~ msgid "(getusers) Cannot open file %s - %s\n"
+#~ msgstr "(getusers) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
+
+#~ msgid "malloc error (%ld)\n"
+#~ msgstr "ÄÚ´æ·ÖÒ³´íÎó (%ld)\n"
+
+#, fuzzy
+#~ msgid "Cannot create a temporary file name to produce the report: %s\n"
+#~ msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n"
+
+#~ msgid "(realtime) mkstemp error - %s\n"
+#~ msgstr "(realtime)mkstemp ´íÎó - %s\n"
+
+#, fuzzy
+#~ msgid "tail command: %s\n"
+#~ msgstr "ÃüÁî: %s\n"
+
+#~ msgid "Maybe a broken record or garbage was returned by %s\n"
+#~ msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø·µ»Ø´Ó %s\n"
+
+#~ msgid "The time stamp at column 1 is too long\n"
+#~ msgstr "ʱ¼ä´ÁÔÚÁÐ1Ì«³¤\n"
+
+#, fuzzy
+#~ msgid "The time stamp decimal part at column 1 is too long\n"
+#~ msgstr "ʱ¼ä´ÁÔÚÁÐ1Ì«³¤\n"
+
+#~ msgid "The connection duration at column 2 is too long\n"
+#~ msgstr "Á¬½Ó³ÖÐøʱ¼äÔÚÁÐ2¹ý³¤\n"
+
+#~ msgid "The IP address at column 3 is too long\n"
+#~ msgstr "ÔÚÁÐ3µÄIPµØÖ·¹ý³¤\n"
+
+#~ msgid "The status at column 4 is too long\n"
+#~ msgstr "ÔÚÁÐ4µÄ״̬̫³¤\n"
+
+#~ msgid "The size at column 5 is too long\n"
+#~ msgstr "ÁÐ5µÄ´óС¹ý³¤\n"
+
+#~ msgid "The action at column 6 is too long\n"
+#~ msgstr "ÁÐ6µÄ×÷Óùý³¤\n"
+
+#~ msgid "The URL at column 7 is too long\n"
+#~ msgstr "ÁÐ7µÄÁ¬½Ó¹ý³¤\n"
+
+#~ msgid "The user ID at column 8 is too long\n"
+#~ msgstr "ÁÐ8µÄÓû§ID¹ý³¤\n"
+
+#~ msgid "The data at column 8 is too long\n"
+#~ msgstr "ÁÐ8µÄÊý¾Ý¹ý³¤\n"
+
+#~ msgid "The user at column 9 is too long\n"
+#~ msgstr "ÁÐ9µÄÓû§¹ý³¤\n"
+
+#~ msgid "(realtime) open error %s - %s\n"
+#~ msgstr "(realtime)´ò¿ª´íÎó %s - %s\n"
+
+#, fuzzy
+#~ msgid "Invalid time column in file %s\n"
+#~ msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
+
+#, fuzzy
+#~ msgid "Invalid user name in file %s\n"
+#~ msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n"
+
+#, fuzzy
+#~ msgid "Invalid access type in file %s\n"
+#~ msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
+
+#~ msgid "(squidguard) Cannot open log file %s\n"
+#~ msgstr "(squidguard) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#~ msgid "Cannot open squidGuard config file: %s\n"
+#~ msgstr "²»ÄÜ´ò¿ªsauidGuard ÅäÖÃÎļþ: %s\n"
+
+#~ msgid "Output file name too long: %s/%s/d%s.html\n"
+#~ msgstr "Êä³öÎļþÃû¹ý³¤ %s/%s/d%s.html\n"
+
+#~ msgid "(repday) Cannot open log file %s\n"
+#~ msgstr "(repday) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "(report) Cannot open file %s\n"
+#~ msgstr "(report) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#, fuzzy
+#~ msgid "(report) directory entry too long: %s/%s.user_log\n"
+#~ msgstr "(report) Îļþ¼Ð¹ý³¤ %s/%s\n"
+
+#~ msgid "Temporary file name too long: %s/%s.utmp\n"
+#~ msgstr "ÁÙʱÎļþÃû¹ý³¤: %s/%s.utmp\n"
+
+#, fuzzy
+#~ msgid "File name too long for %s/smartfilter.int_unsort\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
+
+#~ msgid "(siteuser) Cannot open log file %s\n"
+#~ msgstr "(siteuser) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/smartfilter.int_unsort\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/sarg-sites\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/smartfilter.int_log\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/smartfilter.html\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n"
+
+#~ msgid "(smartfilter) Cannot open log file %s\n"
+#~ msgstr "(smartfilter)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#~ msgid "Generated by"
+#~ msgstr "ÓÉ Éú³É"
+
+#~ msgid "on"
+#~ msgstr "on"
+
+#~ msgid "(smartfilter) Cannot open file %s\n"
+#~ msgstr "(smartfilter) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/%s.utmp\n"
+#~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
+
+#, fuzzy
+#~ msgid "File name too long: %s/htmlrel.txt\n"
+#~ msgstr "ÊäÈëµÄÃû³Æ¹ý³¤: %s/%s\n"
+
+#, fuzzy
+#~ msgid "user name too long for %s/%s.user_unsort\n"
+#~ msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n"
+
+#, fuzzy
+#~ msgid "(splitlog) Cannot open log file %s - %s\n"
+#~ msgstr "(splitlog) ÎÞ·¨´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#, fuzzy
+#~ msgid "(splitlog) Cannot open output log file %s - %s\n"
+#~ msgstr "(splitlog) ÎÞ·¨´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#~ msgid "(topsites) Cannot open log file %s\n"
+#~ msgstr "(topsites) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#~ msgid "(topuser) Cannot open file %s\n"
+#~ msgstr "(topuser) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "Failed to close the top user list %s - %s\n"
+#~ msgstr "¹Ø±Õ»îÔ¾Óû§Áбíʱʧ°Ü %s - %s\n"
+
+#~ msgid "(totday) Cannot open log file %s\n"
+#~ msgstr "(today) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
+
+#~ msgid "(useragent) Cannot open file %s\n"
+#~ msgstr "(useragent) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "(usertab) Cannot open file %s - %s\n"
+#~ msgstr "(usertab) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
+
+#~ msgid "directory name too long: %s\n"
+#~ msgstr "Îļþ¼ÐÃû¹ý³¤: %s\n"
+
+#~ msgid ""
+#~ "January,February,March,April,May,June,July,August,September,October,"
+#~ "November,December"
+#~ msgstr "Ò»ÔÂ,¶þÔÂ,ÈýÔÂ,ËÄÔÂ,ÎåÔÂ,ÁùÔÂ,ÆßÔÂ,°ËÔÂ,¾ÅÔÂ,Ê®ÔÂ,ʮһÔÂ,Ê®¶þÔÂ"
+
+#~ msgid "Cannot open file"
+#~ msgstr "²»ÄÜ´ò¿ªÎļþ"
+
+#~ msgid "(removetmp) directory too long to remove %s/sarg-period\n"
+#~ msgstr "(removetmp) Îļþ¼ÐÌ«³¤²»Äܱ»É¾³ý %s/sarg-period\n"
+
+#~ msgid "(removetmp) Cannot open file %s\n"
+#~ msgstr "(removetmp) ²»ÄÜ´ò¿ªÎļþ %s\n"
+
+#~ msgid "(util) Cannot open file %s (exclude_codes)\n"
+#~ msgstr "(util)²»ÄÜ´ò¿ªÎļþ %s (exclude_codes)\n"
+
+#~ msgid "Cannot get disk space because the path %s%s is too long\n"
+#~ msgstr "²»ÄÜ»ñÈ¡´ÅÅÌ¿Õ¼äÒòΪ·¾¶ %s%s ¹ý³¤\n"
+
+#~ msgid "Cannot get disk space with command %s\n"
+#~ msgstr "²»Äܵõ½´ÅÅÌ¿Õ¼äʹÓÃÃüÁî %s\n"
+
+#~ msgid "Cannot get disk size with command %s\n"
+#~ msgstr "²»ÄÜ»ñÈ¡´ÅÅÌ´óСʹÓÃÃüÁî %s\n"
+
+#~ msgid "The command %s failed\n"
+#~ msgstr "ÃüÁî %s Ê§°Ü\n"
+
+#~ msgid "cannot stat %s\n"
+#~ msgstr "²»ÄÜ¿ªÊ¼ %s\n"
+
+#, fuzzy
+#~ msgid "cannot stat \"%s\"\n"
+#~ msgstr "²»ÄÜ¿ªÊ¼ %s\n"
+
 #~ msgid "H"
 #~ msgstr "H"
 
@@ -3377,17 +3495,9 @@ msgstr ""
 #~ "\n"
 #~ "\tÇë¾èÖúSargÏîÄ¿:"
 
-#, fuzzy
-#~ msgid "Failed to delete the file \"%s\" after processing it - %s\n"
-#~ msgstr "ɾ³ýÎļþʧ°Ü %s\n"
-
 #~ msgid "Report"
 #~ msgstr "±¨¸æ"
 
-#, fuzzy
-#~ msgid "Cannot delete unused file \"%s\" - %s\n"
-#~ msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n"
-
 #, fuzzy
 #~ msgid "Failed to remove the file %s: %s\n"
 #~ msgstr "ÒƳýÎļþʧ°Ü %s\n"
@@ -3499,9 +3609,6 @@ msgstr ""
 #~ msgid "USER"
 #~ msgstr "Óû§"
 
-#~ msgid "Temporary directory name too long: %s\n"
-#~ msgstr "ÁÙʱÎļþ¼ÐÃû³Æ¹ý³¤: %s\n"
-
 #~ msgid "SARG: MALICIUS CODE DETECTED.\n"
 #~ msgstr "SARG: MALICIUS ´úÂëÕì²âµ½d.\n"
 
index cc7a8281288ea4fba3f4c6612a061ca2a80a266e..2363fa53423b1bfbbff6de2a494c8914a6a854a7 100644 (file)
--- a/readlog.c
+++ b/readlog.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 03fcae85645ca0d4fc2b992bf17aecb15a7d2990..20715aa0b8d4bda11afe09a831007d19b4405631 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index fbf0dfaf212ec1914a8a7cb408989c48ebee89fa..6a21850eba44385acc72c3c0819da523cc3f03bd 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index fc2356d4540f5432a0e7159fb2ab38e8a3d4add2..2dc1c6c0347dc4c0aa611293a0f886fcc069cc02 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 256a0517e7a87a273718b52a5f7f40dc7292f202..7d4e1f1bd42d52c4f64557502a46a9d1d497f8fd 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 0f15d55d4332f5f13fba8ff2679012e86847fca2..0d2cf2abe802bffff818a4507b41314e36e058c7 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index c9b8464ac434eac91f6d90400e6c5c4d2ab2bcd6..2a2c3473ce136ec1a42c0f1113808f2283aa94de 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 20a4d6ff112e12aa277317cd5f2059fa4d1a3c2e..604b9291a59a3646ffe3e22994df472f512c667e 100644 (file)
--- a/repday.c
+++ b/repday.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index c64c37d4ff06d276b354759bce3adfdb378e4919..b022815719076548351770f0fd04d24b627f9c41 100644 (file)
--- a/report.c
+++ b/report.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 410c6dffd197ee1bb64463d64c4f0e66ccd05fd2..926f1c25342c6b1d77fc81085a8d67f9d2681262 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index df900f2f9639e63cf1e45b457127d9865699145e..59d38cb96e000a289c152366bcc6a4e34b9be3c4 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
diff --git a/sort.c b/sort.c
index 43c0857056a692c72b3985bd9f444587c4f8a836..7b6426d032936bbea6d3fc040955bcaa6a91f442 100644 (file)
--- a/sort.c
+++ b/sort.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 36bf6609dfb8b3ded4f13a7a69654f965dc62749..75485273880ebc21efa06330d4e9b7a730e27972 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index f116944766ac79315439c2acdc467ebeb4696e0c..b7c4488e1111fc93433fd32bce932e6f11210e7f 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index a41558f823c19f01836742488272a016219167dc..a4234cfbefb134ec222d92ec79b06e5756f3393f 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 3441c3894b525bb134adf6df65381bf15201d0ec..38b058914cc92f00a31edfee6583565ff77e23e2 100644 (file)
--- a/topuser.c
+++ b/topuser.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index a02a1e5c186a29878dc2708049f183a4dcd59898..8960a5ad5babe213398feaeda0aa335700b60e94 100644 (file)
--- a/totday.c
+++ b/totday.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
diff --git a/updatecyear.sh b/updatecyear.sh
new file mode 100644 (file)
index 0000000..220d4c4
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+Year=$(date "+%Y")
+if [ -z "$Year" ] ; then
+       echo "Invalid year returned by date command: $Year"
+       exit 1
+fi
+
+perl -p -i -e "s/(^ \*\s{50,}\d{4},) 20\d{2}/\1 $Year/" *.c
diff --git a/url.c b/url.c
index f24ce71d01c94c8fcd954b612347f418ee0d0f45..ac4c1cd7acddfaadfcf9b79dd5331c81870c81a7 100644 (file)
--- a/url.c
+++ b/url.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
diff --git a/usage.c b/usage.c
index b4fea72eebb2b1bfc7d00790fc876c9618327ad7..25c2ff332934a51abf35cee04d747aa9c24a96ec 100644 (file)
--- a/usage.c
+++ b/usage.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index be40754d654ad3da46f65c542f849f6517e73c01..6768a8df2373570276cc59924df9021e9ed5b28d 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 6f9ac916bd8d8fadf75bf523645000b46c44a726..54859c1b14d40ece38ff8c05517f4efd8093b343 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
index 40c08ec5c7a425b86577ea1f63d83423dce40e8f..12af3d72e66792ba1ff4a0a5512a193f0d013953 100644 (file)
--- a/usertab.c
+++ b/usertab.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
diff --git a/util.c b/util.c
index 12b14ffe67676f8bf00c62abbda10ed8a73bb5e4..398401d3ab0f9542b1d74c98102d6cbd3eaa640d 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2013
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php