]> git.ipfire.org Git - thirdparty/sarg.git/commitdiff
Merge remote branch 'origin/v2.3'
authorFrédéric Marchal <fmarchal@users.sourceforge.net>
Thu, 19 Jul 2012 15:08:25 +0000 (17:08 +0200)
committerFrédéric Marchal <fmarchal@users.sourceforge.net>
Thu, 19 Jul 2012 15:08:25 +0000 (17:08 +0200)
Conflicts:
CMakeLists.txt
configure.in
po/zh_CN.po

23 files changed:
1  2 
CMakeLists.txt
log.c
po/bg.po
po/ca.po
po/cs.po
po/de.po
po/el.po
po/es.po
po/hu.po
po/id.po
po/it.po
po/ja.po
po/lv.po
po/nl.po
po/pl.po
po/pt.po
po/ro.po
po/ru.po
po/sk.po
po/sr.po
po/tr.po
po/uk.po
po/zh_CN.po

diff --combined CMakeLists.txt
index 14582fe05a03e7bf2d636b362d78285d25c176c5,7bf2da0fd89307e33f667b63443a6e871be01db8..a9ea2d94dfa6da3a86eddd0c1bb0eb36fb7e05e7
@@@ -1,9 -1,9 +1,9 @@@
  CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
  PROJECT(sarg C)
  SET(sarg_VERSION 2)
 -SET(sarg_REVISION "3.3-pre3")
 +SET(sarg_REVISION "4-pre1")
  SET(sarg_BUILD "")
- SET(sarg_BUILDDATE "Jul-16-2012")
+ SET(sarg_BUILDDATE "Jul-19-2012")
  
  INCLUDE(AddFileDependencies)
  INCLUDE(CheckIncludeFile)
@@@ -52,7 -52,7 +52,7 @@@ SET(SRC util.c log.c report.c topuser.
         smartfilter.c denied.c authfail.c charset.c dichotomic.c
         redirector.c auth.c download.c grepday.c ip2name_exec.c
         dansguardian_log.c dansguardian_report.c realtime.c btree_cache.c
 -       usertab.c userinfo.c longline.c url.c)
 +       usertab.c userinfo.c longline.c url.c readlog.c)
  
  FOREACH(f ${SRC})
     ADD_FILE_DEPENDENCIES(${f} ${CMAKE_BINARY_DIR}/config.h ${CMAKE_SOURCE_DIR}/include/conf.h ${CMAKE_SOURCE_DIR}/include/info.h ${CMAKE_SOURCE_DIR}/include/defs.h)
diff --combined log.c
index 87ba2ebec8749ecd2d3bd2521d8b59113ff2d909,aeead6107bd12f3ada60b3c7c18556dcc4aa103c..494532e5db897523c4597f9e7666cd6eb12dfdce
--- 1/log.c
--- 2/log.c
+++ b/log.c
  
  #include "include/conf.h"
  #include "include/defs.h"
 +#include "include/readlog.h"
  
  #ifdef HAVE_GETOPT_H
  #include <getopt.h>
  #endif
  
 -#define REPORT_EVERY_X_LINES 5000
 -#define MAX_OPEN_USER_FILES 10
 +//! The log file filtering.
 +struct ReadLogDataStruct ReadFilter;
  
 -struct userfilestruct
 -{
 -      struct userfilestruct *next;
 -      struct userinfostruct *user;
 -      FILE *file;
 -};
 -
 -/*@null@*/static char *userfile=NULL;
 -
 -numlist weekdays = { { 0, 1, 2, 3, 4, 5, 6 }, 7 };
 -numlist hours = { { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 }, 24 };
 +//! The list of the system users.
 +/*@null@*/char *userfile=NULL;
  
  static void getusers(const char *pwdfile, int debug);
  
  int main(int argc,char *argv[])
  {
 -      enum isa_col_id {
 -              ISACOL_Ip,
 -              ISACOL_UserName,
 -              ISACOL_Date,
 -              ISACOL_Time,
 -              ISACOL_TimeTaken,
 -              ISACOL_Bytes,
 -              ISACOL_Uri,
 -              ISACOL_Status,
 -              ISACOL_Last //last entry of the list !
 -      };
 -      enum InputLogFormat {
 -              ILF_Unknown,
 -              ILF_Squid,
 -              ILF_Common,
 -              ILF_Sarg,
 -              ILF_Isa,
 -              ILF_Last //last entry of the list !
 -      };
 -
 -      FILE *fp_in = NULL, *fp_denied=NULL, *fp_authfail=NULL, *fp_log=NULL;
 -
 -      char sz_Download_Unsort[ 20000 ] ;
 -      FILE * fp_Download_Unsort = NULL ;
 -
        extern int optind;
        extern int optopt;
        extern char *optarg;
  
 -      char data[255];
 -      char elap[255];
 -      char ip[MAXLEN];
 -      char tam[255];
 -      char fun[MAXLEN];
 -      char wuser[MAXLEN];
 -      char smartfilter[MAXLEN];
 -      char dia[128];
 -      char mes[30];
 -      char hora[30];
 -      char date[255];
 -      char arq[255];
 -      char arq_log[255];
 -      int hm, hmf, hmr;
        char hm_str[15];
        char uagent[MAXLEN];
        char hexclude[MAXLEN];
 -      char csort[MAXLEN];
 -      int cstatus;
 -      char tbuf2[128];
 -      char *str;
 -      char tmp3[MAXLEN];
 -      char denied_unsort[MAXLEN];
 -      char denied_sort[MAXLEN];
 -      char authfail_unsort[MAXLEN];
 -      char start_hour[128];
 -      char *linebuf;
 -      const char *url;
 -      char *full_url;
 -      char user[MAX_USER_LEN];
        char splitprefix[MAXLEN];
 -      enum InputLogFormat ilf;
 -      int ilf_count[ILF_Last];
        int  ch;
        int  x;
        int  errflg=0;
 -      int  puser=0;
 -      bool  fhost=false;
        bool  dns=false;
 -      bool  fuser=false;
 -      int  idata=0;
 -      int  mindate=0;
 -      int  maxdate=0;
        int  iarq=0;
 -      int isa_ncols=0,isa_cols[ISACOL_Last];
        int lastlog=-1;
 -      long int nbytes;
 -      long int elap_time;
 -      bool from_stdin;
 -      bool from_pipe;
 -      int blen;
 -      int maxopenfiles;
 -      int nopen;
 -      bool id_is_ip;
 -      long totregsl=0;
 -      long totregsg=0;
 -      long totregsx=0;
 -      bool totper=false;
 -      long int max_elapsed=0;
 -      long long int iyear, imonth, iday;
 +      int LogStatus;
        bool realt;
        bool userip;
 -      struct tm tt;
 -      struct tm *t;
 -      unsigned long recs1=0UL;
 -      unsigned long recs2=0UL;
 -      int OutputNonZero = REPORT_EVERY_X_LINES ;
 -      bool download_flag=false;
 -      char download_url[MAXLEN];
 -      struct getwordstruct gwarea;
 -      longline line;
 -      time_t tnum;
 -      struct stat logstat;
 -      struct userinfostruct *uinfo;
 -      struct userfilestruct *first_user_file, *ufile, *ufile1, *prev_ufile;
        static int split=0;
        static int convert=0;
        static int output_css=0;
        ExternalCSSFile[0]='\0';
        RedirectorLogFormat[0]='\0';
        NRedirectorLogs=0;
 -      for (ilf=0 ; ilf<ILF_Last ; ilf++) ilf_count[ilf]=0;
  
        snprintf(ExcludeCodes,sizeof(ExcludeCodes),"%s/exclude_codes",SYSCONFDIR);
        strcpy(GraphDaysBytesBarColor,"orange");
        strcpy(LDAPTargetAttr, "cn");
        SortTableJs[0]='\0';
  
 -      dia[0]='\0';
 -      mes[0]='\0';
 -      hora[0]='\0';
        tmp[0]='\0';
 -      tmp3[0]='\0';
        us[0]='\0';
 -      date[0]='\0';
 +      ReadFilter.DateRange[0]='\0';
        df[0]='\0';
        uagent[0]='\0';
        hexclude[0]='\0';
        addr[0]='\0';
 -      hm=-1;
 -      hmf=-1;
 +      ReadFilter.StartTime=-1;
 +      ReadFilter.EndTime=-1;
        site[0]='\0';
        outdir[0]='\0';
        splitprefix[0]='\0';
 -      elap[0]='\0';
        email[0]='\0';
        UserInvalidChar[0]='\0';
        DataFile[0]='\0';
        SquidGuardConf[0]='\0';
        DansGuardianConf[0]='\0';
 -      start_hour[0]='\0';
        hm_str[0]='\0';
        HostAliasFile[0]='\0';
  
 -      denied_count=0;
        download_count=0;
 -      authfail_count=0;
        dansguardian_count=0;
        redirector_count=0;
        useragent_count=0;
  
        bzero(IncludeUsers, sizeof(IncludeUsers));
        bzero(ExcludeString, sizeof(ExcludeString));
 -      first_user_file=NULL;
        memset(&period,0,sizeof(period));
  
        NAccessLog=0;
                                safe_strcpy(hexclude,optarg,sizeof(hexclude));
                                break;
                        case 'd':
 -                              safe_strcpy(date,optarg,sizeof(date));
 -                              date_from(date, &dfrom, &duntil);
 +                              safe_strcpy(ReadFilter.DateRange,optarg,sizeof(ReadFilter.DateRange));
 +                              date_from(ReadFilter.DateRange, &dfrom, &duntil);
                                break;
                        case 'e':
                                safe_strcpy(email,optarg,sizeof(email));
  
                                if(strstr(optarg,"-") == 0) {
                                        if(sscanf(optarg,"%d:%d",&h1,&m1)!=2) {
-                                               debuga(_("Time period passed on the command line with option -t must be MM:SS\n"));
+                                               debuga(_("Time period passed on the command line with option -t must be HH:MM\n"));
                                                exit(EXIT_FAILURE);
                                        }
 -                                      hm=h1*100+m1;
 -                                      hmf=hm;
 +                                      ReadFilter.StartTime=h1*100+m1;
 +                                      ReadFilter.EndTime=ReadFilter.StartTime;
                                        snprintf(hm_str,sizeof(hm_str),"%02d:%02d",h1,m1);
                                } else {
                                        if(sscanf(optarg,"%d:%d-%d:%d",&h1,&m1,&h2,&m2)!=4) {
-                                               debuga(_("Time range passed on the command line with option -t must be MM:SS-MM:SS\n"));
+                                               debuga(_("Time range passed on the command line with option -t must be HH:MM-HH:MM\n"));
                                                exit(EXIT_FAILURE);
                                        }
 -                                      hm=h1*100+m1;
 -                                      hmf=h2*100+m2;
 +                                      ReadFilter.StartTime=h1*100+m1;
 +                                      ReadFilter.EndTime=h2*100+m2;
                                        snprintf(hm_str,sizeof(hm_str),"%02d:%02d-%02d:%02d",h1,m1,h2,m2);
                                }
                                break;
  
        if(access(PasswdFile, R_OK) == 0) {
                getusers(PasswdFile,debug);
 -              puser++;
 +              ReadFilter.SysUsers=true;
 +      } else {
 +              ReadFilter.SysUsers=false;
        }
  
        if(hexclude[0] == '\0')
                strcpy(hexclude,ExcludeHosts);
        if(hexclude[0] != '\0') {
                gethexclude(hexclude,debug);
 -              fhost=true;
 +              ReadFilter.HostFilter=true;
 +      } else {
 +              ReadFilter.HostFilter=false;
        }
  
        if(ReportType == 0) {
  
        if(access(ExcludeUsers, R_OK) == 0) {
                getuexclude(ExcludeUsers,debug);
 -              fuser=true;
 +              ReadFilter.UserFilter=true;
 +      } else {
 +              ReadFilter.UserFilter=false;
        }
        if (HostAliasFile[0] != '\0')
                read_hostalias(HostAliasFile);
  
        indexonly=false;
 -      if(fuser) {
 +      if(ReadFilter.UserFilter) {
                if(is_indexonly())
                        indexonly=true;
        }
        if(strcmp(ExcludeUsers,"indexonly") == 0) indexonly=true;
        if(Index == INDEX_ONLY) indexonly=true;
  
 -      if(MaxElapsed[0] != '\0') max_elapsed=atol(MaxElapsed);
 +      if(MaxElapsed[0] != '\0')
 +              ReadFilter.max_elapsed=atol(MaxElapsed);
 +      else
 +              ReadFilter.max_elapsed=0;
  
        if(uagent[0] == '\0') strcpy(uagent,UserAgentLog);
  
                emptytmpdir(tmp);
        }
        my_mkdir(tmp);
 -      snprintf(denied_unsort,sizeof(denied_unsort),"%s/denied.int_unsort",tmp);
 -      snprintf(denied_sort,sizeof(denied_sort),"%s/denied.int_log",tmp);
 -      snprintf(authfail_unsort,sizeof(authfail_unsort),"%s/authfail.int_unsort",tmp);
  
        if(debug) {
                debuga(_("Parameters:\n"));
                debuga(_("          Hostname or IP address (-a) = %s\n"),addr);
                debuga(_("                   Useragent log (-b) = %s\n"),uagent);
                debuga(_("                    Exclude file (-c) = %s\n"),hexclude);
 -              debuga(_("                 Date from-until (-d) = %s\n"),date);
 +              debuga(_("                 Date from-until (-d) = %s\n"),ReadFilter.DateRange);
                debuga(_("   Email address to send reports (-e) = %s\n"),email);
                debuga(_("                     Config file (-f) = %s\n"),ConfigFile);
                if(strcmp(df,"e") == 0)
                printf(_("          Hostname or IP address (-a) = %s\n"),addr);
                printf(_("                   Useragent log (-b) = %s\n"),uagent);
                printf(_("                    Exclude file (-c) = %s\n"),hexclude);
 -              printf(_("                 Date from-until (-d) = %s\n"),date);
 +              printf(_("                 Date from-until (-d) = %s\n"),ReadFilter.DateRange);
                printf(_("   Email address to send reports (-e) = %s\n"),email);
                printf(_("                     Config file (-f) = %s\n"),ConfigFile);
                if(strcmp(df,"e") == 0)
        debuga(_("Sarg compiled to report warnings if the output is inconsistent\n"));
  #endif
  
 -      maxopenfiles=MAX_OPEN_USER_FILES;
  #ifdef HAVE_RLIM_T
        if (Ulimit[0] != '\0') {
                struct rlimit rl;
  
        init_usertab(UserTabFile);
  
 -      if ((line=longline_create())==NULL) {
 -              debuga(_("Not enough memory to read a log file\n"));
 -              exit(EXIT_FAILURE);
 -      }
 -
 -      snprintf(sz_Download_Unsort,sizeof(sz_Download_Unsort),"%s/download.int_unsort", tmp);
 -
 -      if(DataFile[0]=='\0') {
 -              if((ReportType & REPORT_TYPE_DENIED) != 0) {
 -                      if((fp_denied=MY_FOPEN(denied_unsort,"w"))==NULL) {
 -                              debuga(_("(log) Cannot open file: %s - %s\n"),denied_unsort,strerror(errno));
 -                              exit(EXIT_FAILURE);
 -                      }
 -              }
 -
 -              if((ReportType & REPORT_TYPE_DENIED) != 0 || (ReportType & REPORT_TYPE_AUTH_FAILURES) != 0) {
 -                      if((fp_authfail=MY_FOPEN(authfail_unsort,"w"))==NULL) {
 -                              debuga(_("(log) Cannot open file: %s - %s\n"),authfail_unsort,strerror(errno));
 -                              exit(EXIT_FAILURE);
 -                      }
 -              }
 -      }
 -
 -      for (iarq=0 ; iarq<NAccessLog ; iarq++) {
 -              strcpy(arq,AccessLog[iarq]);
 -
 -              strcpy(arqtt,arq);
 -
 -              if(strcmp(arq,"-")==0) {
 -                      if(debug)
 -                              debuga(_("Reading access log file: from stdin\n"));
 -                      fp_in=stdin;
 -                      from_stdin=true;
 -              } else {
 -                      if (date[0]!='\0') {
 -                              if (stat(arq,&logstat)!=0) {
 -                                      debuga(_("Cannot get the modification time of input log file %s (%s). Processing it anyway\n"),arq,strerror(errno));
 -                              } else {
 -                                      struct tm *logtime=localtime(&logstat.st_mtime);
 -                                      if ((logtime->tm_year+1900)*10000+(logtime->tm_mon+1)*100+logtime->tm_mday<dfrom) {
 -                                              debuga(_("Ignoring old log file %s\n"),arq);
 -                                              continue;
 -                                      }
 -                              }
 -                      }
 -                      fp_in=decomp(arq,&from_pipe);
 -                      if(fp_in==NULL) {
 -                              debuga(_("(log) Cannot open log file: %s - %s\n"),arq,strerror(errno));
 -                              exit(EXIT_FAILURE);
 -                      }
 -                      if(debug) debuga(_("Reading access log file: %s\n"),arq);
 -                      from_stdin=false;
 -              }
 -              ilf=ILF_Unknown;
 -              download_flag=false;
 -              // pre-read the file only if we have to show stats
 -              if(ShowReadStatistics && !from_stdin && !from_pipe) {
 -                      size_t nread,i;
 -                      bool skipcr=false;
 -                      char tmp4[MAXLEN];
 -
 -                      recs1=0UL;
 -                      recs2=0UL;
 -
 -                      while ((nread=fread(tmp4,1,sizeof(tmp4),fp_in))>0) {
 -                              for (i=0 ; i<nread ; i++)
 -                                      if (skipcr) {
 -                                              if (tmp4[i]!='\n' && tmp4[i]!='\r') {
 -                                                      skipcr=false;
 -                                              }
 -                                      } else {
 -                                              if (tmp4[i]=='\n' || tmp4[i]=='\r') {
 -                                                      skipcr=true;
 -                                                      recs1++;
 -                                              }
 -                                      }
 -                      }
 -                      rewind(fp_in);
 -                      printf(_("SARG: Records in file: %lu, reading: %3.2f%%"),recs1,(float) 0);
 -                      putchar('\r');
 -                      fflush( stdout ) ;
 -              }
 -
 -              longline_reset(line);
 -
 -              while ((linebuf=longline_read(fp_in,line))!=NULL) {
 -                      blen=strlen(linebuf);
 -
 -                      if (ilf==ILF_Unknown) {
 -                              if(strncmp(linebuf,"#Software: Mic",14) == 0) {
 -                                      fixendofline(linebuf);
 -                                      if (debug)
 -                                              debuga(_("Log is from Microsoft ISA: %s\n"),linebuf);
 -                                      ilf=ILF_Isa;
 -                                      ilf_count[ilf]++;
 -                                      continue;
 -                              }
 -
 -                              if(strncmp(linebuf,"*** SARG Log ***",16) == 0) {
 -                                      if (getperiod_fromsarglog(arqtt,&period)<0) {
 -                                              debuga(_("The name of the file is invalid: %s\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      ilf=ILF_Sarg;
 -                                      ilf_count[ilf]++;
 -                                      continue;
 -                              }
 -                      }
 -
 -                      if(!fp_log && ParsedOutputLog[0] && ilf!=ILF_Sarg) {
 -                              if(access(ParsedOutputLog,R_OK) != 0) {
 -                                      my_mkdir(ParsedOutputLog);
 -                              }
 -                              if (snprintf(arq_log,sizeof(arq_log),"%s/sarg_temp.log",ParsedOutputLog)>=sizeof(arq_log)) {
 -                                      debuga(_("File name too long: %s/sarg_temp.log\n"),ParsedOutputLog);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if((fp_log=MY_FOPEN(arq_log,"w"))==NULL) {
 -                                      debuga(_("(log) Cannot open log file: %s - %s\n"),arq_log,strerror(errno));
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              fputs("*** SARG Log ***\n",fp_log);
 -                      }
 -
 -                      recs2++;
 -                      if( ShowReadStatistics && !from_stdin && !from_pipe && --OutputNonZero<=0) {
 -                              double perc = recs2 * 100. / recs1 ;
 -                              printf(_("SARG: Records in file: %lu, reading: %3.2lf%%"),recs2,perc);
 -                              putchar('\r');
 -                              fflush (stdout);
 -                              OutputNonZero = REPORT_EVERY_X_LINES ;
 -                      }
 -                      if(blen < 58) continue;
 -                      if(strstr(linebuf,"HTTP/0.0") != 0) continue;
 -                      if(strstr(linebuf,"logfile turned over") != 0) continue;
 -                      if(linebuf[0] == ' ') continue;
 -
 -                      // exclude_string
 -                      if(ExcludeString[0] != '\0') {
 -                              bool exstring=false;
 -                              getword_start(&gwarea,ExcludeString);
 -                              while(strchr(gwarea.current,':') != 0) {
 -                                      if (getword_multisep(val1,sizeof(val1),&gwarea,':')<0) {
 -                                              debuga(_("Maybe you have a broken record or garbage in your exclusion string\n"));
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if((str=(char *) strstr(linebuf,val1)) != (char *) NULL ) {
 -                                              exstring=true;
 -                                              break;
 -                                      }
 -                              }
 -                              if(!exstring && (str=(char *) strstr(linebuf,gwarea.current)) != (char *) NULL )
 -                                      exstring=true;
 -                              if(exstring) continue;
 -                      }
 -
 -                      totregsl++;
 -                      if(debugm)
 -                              printf("BUF=%s\n",linebuf);
 -
 -                      t=NULL;
 -                      if (ilf==ILF_Squid || ilf==ILF_Common || ilf==ILF_Unknown) {
 -                              getword_start(&gwarea,linebuf);
 -                              if (getword(data,sizeof(data),&gwarea,' ')<0) {
 -                                      debuga(_("Maybe you have a broken time in your access.log file\n"));
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if((str=(char *) strchr(data, '.')) != (char *) NULL && (str=(char *) strchr(str+1, '.')) != (char *) NULL ) {
 -                                      strcpy(ip,data);
 -                                      strcpy(elap,"0");
 -                                      if(squid24) {
 -                                              if (getword(user,sizeof(user),&gwarea,' ')<0 || getword_skip(255,&gwarea,' ')<0) {
 -                                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                      } else {
 -                                              if (getword_skip(255,&gwarea,' ')<0 || getword(user,sizeof(user),&gwarea,' ')<0) {
 -                                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                      }
 -                                      if (getword(data,sizeof(data),&gwarea,']')<0 || getword_skip(MAXLEN,&gwarea,'"')<0 ||
 -                                          getword(fun,sizeof(fun),&gwarea,' ')<0) {
 -                                              debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword_ptr(linebuf,&full_url,&gwarea,' ')<0) {
 -                                              debuga(_("Maybe you have a broken url in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword_skip(MAXLEN,&gwarea,' ')<0) {
 -                                              debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword(code2,sizeof(code2),&gwarea,' ')<0) {
 -                                              debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword(tam,sizeof(tam),&gwarea,' ')<0) {
 -                                              debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if((str=(char *) strchr(gwarea.current, ' ')) != (char *) NULL ) {
 -                                              if (getword(code,sizeof(code),&gwarea,' ')<0) {
 -                                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                      } else {
 -                                              if (getword(code,sizeof(code),&gwarea,'\0')<0) {
 -                                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                      }
 -
 -                                      if ((str = strchr(code, ':')) != NULL)
 -                                              *str = '/';
 -
 -                                      if(strcmp(tam,"\0") == 0)
 -                                              strcpy(tam,"0");
 -
 -                                      ilf=ILF_Common;
 -                                      ilf_count[ilf]++;
 -
 -                                      getword_start(&gwarea,data+1);
 -                                      if (getword_multisep(data,sizeof(data),&gwarea,':')<0){
 -                                              debuga(_("Maybe you have a broken date in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword_multisep(hora,sizeof(hora),&gwarea,' ')<0){
 -                                              debuga(_("Maybe you have a broken date in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      getword_start(&gwarea,data);
 -                                      if (getword_atoll(&iday,&gwarea,'/')<0){
 -                                              debuga(_("Maybe you have a broken date in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword(mes,sizeof(mes),&gwarea,'/')<0){
 -                                              debuga(_("Maybe you have a broken date in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword_atoll(&iyear,&gwarea,'/')<0){
 -                                              debuga(_("Maybe you have a broken date in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -
 -                                      imonth=month2num(mes)+1;
 -                                      idata=builddia(iday,imonth,iyear);
 -                                      computedate(iyear,imonth,iday,&tt);
 -                                      if (sscanf(hora,"%d:%d:%d",&tt.tm_hour,&tt.tm_min,&tt.tm_sec)!=3 || tt.tm_hour<0 || tt.tm_hour>=24 ||
 -                                                      tt.tm_min<0 || tt.tm_min>=60 || tt.tm_sec<0 || tt.tm_sec>=60) {
 -                                              debuga(_("Invalid time found in %s\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      t=&tt;
 -                              }
 -
 -                              if(ilf==ILF_Unknown || ilf==ILF_Squid) {
 -                                      if (getword(elap,sizeof(elap),&gwarea,' ')<0) {
 -                                              debuga(_("Maybe you have a broken elapsed time in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      while(strcmp(elap,"") == 0 && gwarea.current[0] != '\0')
 -                                              if (getword(elap,sizeof(elap),&gwarea,' ')<0) {
 -                                                      debuga(_("Maybe you have a broken elapsed time in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                      if(strlen(elap) < 1) continue;
 -                                      if (getword(ip,sizeof(ip),&gwarea,' ')<0){
 -                                              debuga(_("Maybe you have a broken client IP address in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword(code,sizeof(code),&gwarea,' ')<0){
 -                                              debuga(_("Maybe you have a broken result code in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword(tam,sizeof(tam),&gwarea,' ')<0){
 -                                              debuga(_("Maybe you have a broken amount of data in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword(fun,sizeof(fun),&gwarea,' ')<0){
 -                                              debuga(_("Maybe you have a broken request method in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword_ptr(linebuf,&full_url,&gwarea,' ')<0){
 -                                              debuga(_("Maybe you have a broken url in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (getword(user,sizeof(user),&gwarea,' ')<0){
 -                                              debuga(_("Maybe you have a broken user ID in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      ilf=ILF_Squid;
 -                                      ilf_count[ilf]++;
 -
 -                                      tnum=atoi(data);
 -                                      t=localtime(&tnum);
 -                                      if (t == NULL) {
 -                                              debuga(_("Cannot convert the timestamp from the squid log file\n"));
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -
 -                                      strftime(tbuf2, sizeof(tbuf2), "%H%M", t);
 -
 -                                      idata=(t->tm_year+1900)*10000+(t->tm_mon+1)*100+t->tm_mday;
 -                              }
 -                      }
 -                      if (ilf==ILF_Sarg) {
 -                              getword_start(&gwarea,linebuf);
 -                              if (getword(data,sizeof(data),&gwarea,'\t')<0){
 -                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword(hora,sizeof(hora),&gwarea,'\t')<0) {
 -                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword(user,sizeof(user),&gwarea,'\t')<0) {
 -                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword(ip,sizeof(ip),&gwarea,'\t')<0) {
 -                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword_ptr(linebuf,&full_url,&gwarea,'\t')<0){
 -                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword(tam,sizeof(tam),&gwarea,'\t')<0){
 -                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword(code,sizeof(code),&gwarea,'\t')<0){
 -                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword(elap,sizeof(elap),&gwarea,'\t')<0){
 -                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword(smartfilter,sizeof(smartfilter),&gwarea,'\0')<0){
 -                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              getword_start(&gwarea,data);
 -                              if (getword_atoll(&iday,&gwarea,'/')<0 || iday<1 || iday>31){
 -                                      debuga(_("Maybe you have a broken date in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword_atoll(&imonth,&gwarea,'/')<0 || imonth<1 || imonth>12){
 -                                      debuga(_("Maybe you have a broken date in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword_atoll(&iyear,&gwarea,'\0')<0){
 -                                      debuga(_("Maybe you have a broken date in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              idata=builddia(iday,imonth,iyear);
 -                              computedate(iyear,imonth,iday,&tt);
 -                              if (sscanf(hora,"%d:%d:%d",&tt.tm_hour,&tt.tm_min,&tt.tm_sec)!=3 || tt.tm_hour<0 || tt.tm_hour>=24 ||
 -                                              tt.tm_min<0 || tt.tm_min>=60 || tt.tm_sec<0 || tt.tm_sec>=60) {
 -                                      debuga(_("Invalid time found in %s\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              t=&tt;
 -                      }
 -                      if (ilf==ILF_Isa) {
 -                              if (linebuf[0] == '#') {
 -                                      int ncols,cols[ISACOL_Last];
 -
 -                                      fixendofline(linebuf);
 -                                      getword_start(&gwarea,linebuf);
 -                                      // remove the #Fields: column at the beginning of the line
 -                                      if (getword_skip(1000,&gwarea,' ')<0){
 -                                              debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      for (ncols=0 ; ncols<ISACOL_Last ; ncols++) cols[ncols]=-1;
 -                                      ncols=0;
 -                                      while(gwarea.current[0] != '\0') {
 -                                              if (getword(val1,sizeof(val1),&gwarea,'\t')<0){
 -                                                      debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                              if(strcmp(val1,"c-ip") == 0) cols[ISACOL_Ip]=ncols;
 -                                              if(strcmp(val1,"cs-username") == 0) cols[ISACOL_UserName]=ncols;
 -                                              if(strcmp(val1,"date") == 0) cols[ISACOL_Date]=ncols;
 -                                              if(strcmp(val1,"time") == 0) cols[ISACOL_Time]=ncols;
 -                                              if(strcmp(val1,"time-taken") == 0) cols[ISACOL_TimeTaken]=ncols;
 -                                              if(strcmp(val1,"sc-bytes") == 0) cols[ISACOL_Bytes]=ncols;
 -                                              if(strcmp(val1,"cs-uri") == 0) cols[ISACOL_Uri]=ncols;
 -                                              if(strcmp(val1,"sc-status") == 0) cols[ISACOL_Status]=ncols;
 -                                              ncols++;
 -                                      }
 -                                      if (cols[ISACOL_Ip]>=0) {
 -                                              isa_ncols=ncols;
 -                                              for (ncols=0 ; ncols<ISACOL_Last ; ncols++)
 -                                                      isa_cols[ncols]=cols[ncols];
 -                                      }
 -                                      continue;
 -                              }
 -                              if (!isa_ncols) continue;
 -                              getword_start(&gwarea,linebuf);
 -                              for (x=0 ; x<isa_ncols ; x++) {
 -                                      if (getword_ptr(linebuf,&str,&gwarea,'\t')<0) {
 -                                              debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                                      if (x==isa_cols[ISACOL_Ip]) {
 -                                              if (strlen(str)>=sizeof(ip)) {
 -                                                      debuga(_("Maybe you have a broken IP in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                              strcpy(ip,str);
 -                                      } else if (x==isa_cols[ISACOL_UserName]) {
 -                                              if (strlen(str)>=sizeof(user)) {
 -                                                      debuga(_("Maybe you have a broken user ID in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                              strcpy(user,str);
 -                                      } else if (x==isa_cols[ISACOL_Date]) {
 -                                              if (strlen(str)>=sizeof(data)) {
 -                                                      debuga(_("Maybe you have a broken date in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                              strcpy(data,str);
 -                                      } else if (x==isa_cols[ISACOL_Time]) {
 -                                              if (strlen(str)>=sizeof(hora)) {
 -                                                      debuga(_("Maybe you have a broken time in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                              strcpy(hora,str);
 -                                      } else if (x==isa_cols[ISACOL_TimeTaken]) {
 -                                              if (strlen(str)>=sizeof(elap)) {
 -                                                      debuga(_("Maybe you have a broken download duration in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                              strcpy(elap,str);
 -                                      } else if (x==isa_cols[ISACOL_Bytes]) {
 -                                              if (strlen(str)>=sizeof(tam)) {
 -                                                      debuga(_("Maybe you have a broken download size in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                              strcpy(tam,str);
 -                                      } else if (x==isa_cols[ISACOL_Uri]) {
 -                                              full_url=str;
 -                                      } else if (x==isa_cols[ISACOL_Status]) {
 -                                              if (strlen(str)>=sizeof(code)) {
 -                                                      debuga(_("Maybe you have a broken access code in your %s file\n"),arq);
 -                                                      exit(EXIT_FAILURE);
 -                                              }
 -                                              strcpy(code,str);
 -                                      }
 -                              }
 -
 -                              if(strcmp(code,"401") == 0 || strcmp(code,"403") == 0 || strcmp(code,"407") == 0) {
 -                                      sprintf(val1,"DENIED/%s",code);
 -                                      strcpy(code,val1);
 -                              }
 -                              getword_start(&gwarea,data);
 -                              if (getword_atoll(&iyear,&gwarea,'-')<0){
 -                                      debuga(_("Maybe you have a broken year in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword_atoll(&imonth,&gwarea,'-')<0){
 -                                      debuga(_("Maybe you have a broken month in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if (getword_atoll(&iday,&gwarea,'\0')<0){
 -                                      debuga(_("Maybe you have a broken day in your %s file\n"),arq);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -
 -                              idata=builddia(iday,imonth,iyear);
 -                              computedate(iyear,imonth,iday,&tt);
 -                              if (isa_cols[ISACOL_Time]>=0) {
 -                                      if (sscanf(hora,"%d:%d:%d",&tt.tm_hour,&tt.tm_min,&tt.tm_sec)!=3 || tt.tm_hour<0 || tt.tm_hour>=24 ||
 -                                                      tt.tm_min<0 || tt.tm_min>=60 || tt.tm_sec<0 || tt.tm_sec>=60) {
 -                                              debuga(_("Invalid time found in %s\n"),arq);
 -                                              exit(EXIT_FAILURE);
 -                                      }
 -                              }
 -                              t=&tt;
 -                      }
 -                      if (t==NULL) {
 -                              debuga(_("Unknown input log file format\n"));
 -                              break;
 -                      }
 -
 -                      strftime(dia, sizeof(dia), "%d/%m/%Y", t);
 -                      snprintf(hora,sizeof(hora),"%02d:%02d:%02d",t->tm_hour,t->tm_min,t->tm_sec);
 -
 -                      if(debugm)
 -                              printf("DATE=%s IDATA=%d DFROM=%d DUNTIL=%d\n",date,idata,dfrom,duntil);
 -
 -                      if(date[0] != '\0'){
 -                              if(idata < dfrom || idata > duntil) continue;
 -                      }
 -
 -                      // Record only hours usage which is required
 -                      if (t) {
 -                              if( bsearch( &( t -> tm_wday ), weekdays.list, weekdays.len, sizeof( int ), compar ) == NULL )
 -                                      continue;
 -
 -                              if( bsearch( &( t -> tm_hour ), hours.list, hours.len, sizeof( int ), compar ) == NULL )
 -                                      continue;
 -                      }
 -
 -
 -                      if(strlen(user) > MAX_USER_LEN) {
 -                              if (debugm) printf(_("User ID too long: %s\n"),user);
 -                              totregsx++;
 -                              continue;
 -                      }
 -
 -                      // include_users
 -                      if(IncludeUsers[0] != '\0') {
 -                              snprintf(val1,sizeof(val1),":%s:",user);
 -                              if((str=(char *) strstr(IncludeUsers,val1)) == (char *) NULL )
 -                                      continue;
 -                      }
 -
 -                      if(vercode(code)) {
 -                              if (debugm) printf(_("Excluded code: %s\n"),code);
 -                              totregsx++;
 -                              continue;
 -                      }
 -
 -                      if(testvaliduserchar(user))
 -                              continue;
 -
 -#if 0
 -                      if((str = strstr(user,"%20")) != NULL) {
 -                              /*
 -                              This is a patch introduced to solve bug #1624251 reported at sourceforge but
 -                              the side effect is to truncate the name at the first space and merge the reports
 -                              of people whose name is identical up to the first space.
 -
 -                              The old code used to truncate the user name at the first % if a %20 was
 -                              found anywhere in the string. That means the string could be truncated
 -                              at the wrong place if another % occured before the %20. This new code should
 -                              avoid that problem and only truncate at the space. There is no bug
 -                              report indicating that anybody noticed this.
 -                              */
 -                              *str='\0';
 -                      }
 -
 -                      /*
 -                      Code prior to 2.2.7 used to replace any %xx by a dot as long as a %5c was
 -                      found in the user name.
 -                      */
 -                      while((str = strstr(user,"%5c")) != NULL) {
 -                              *str='.';
 -                              for (x=3 ; str[x] ; x++) str[x-2]=str[x];
 -                      }
 -#endif
 -                      // replace any tab by a single space
 -                      for (str=full_url ; *str ; str++)
 -                              if (*str=='\t') *str=' ';
 -                      for (str=code ; *str ; str++)
 -                              if (*str=='\t') *str=' ';
 -
 -                      if(ilf!=ILF_Sarg) {
 -                              /*
 -                              The full URL is not saved in sarg log. There is no point in testing the URL to detect
 -                              a downloaded file.
 -                              */
 -                              download_flag=is_download_suffix(full_url);
 -                              if (download_flag) {
 -                                      safe_strcpy(download_url,full_url,sizeof(download_url));
 -                                      download_count++;
 -                              }
 -                      } else
 -                              download_flag=false;
 -
 -                      url=process_url(full_url,LongUrl);
 -                      if (!url || url[0] == '\0') continue;
 -
 -                      if(addr[0] != '\0'){
 -                              if(strcmp(addr,ip)!=0) continue;
 -                      }
 -                      if(fhost) {
 -                              if(!vhexclude(url)) {
 -                                      if (debugm) printf(_("Excluded site: %s\n"),url);
 -                                      totregsx++;
 -                                      continue;
 -                              }
 -                      }
 -
 -                      if(hm >= 0 && hmf >= 0) {
 -                              hmr=t->tm_hour*100+t->tm_min;
 -                              if(hmr < hm || hmr > hmf) continue;
 -                      }
 -
 -                      if(site[0] != '\0'){
 -                              if(strstr(url,site)==0) continue;
 -                      }
 -
 -                      if(UserIp) {
 -                              strcpy(user,ip);
 -                              id_is_ip=true;
 -                      } else {
 -                              id_is_ip=false;
 -                              if(strcmp(user,"-") == 0 || strcmp(user," ") == 0 || strcmp(user,"") == 0) {
 -                                      if(RecordsWithoutUser == RECORDWITHOUTUSER_IP) {
 -                                              strcpy(user,ip);
 -                                              id_is_ip=true;
 -                                      }
 -                                      if(RecordsWithoutUser == RECORDWITHOUTUSER_IGNORE)
 -                                              continue;
 -                                      if(RecordsWithoutUser == RECORDWITHOUTUSER_EVERYBODY)
 -                                              strcpy(user,"everybody");
 -                              } else {
 -                                      strlow(user);
 -                                      if(NtlmUserFormat == NTLMUSERFORMAT_USER) {
 -                                              if ((str=strchr(user,'+'))!=NULL || (str=strchr(user,'\\'))!=NULL || (str=strchr(user,'_'))!=NULL) {
 -                                                      strcpy(warea,str+1);
 -                                                      strcpy(user,warea);
 -                                              }
 -                                      }
 -                              }
 -                      }
 -
 -                      if(us[0] != '\0'){
 -                              if(strcmp(user,us)!=0) continue;
 -                      }
 -
 -                      if(puser) {
 -                              snprintf(wuser,sizeof(wuser),":%s:",user);
 -                              if(strstr(userfile, wuser) == 0)
 -                                      continue;
 -                      }
 -
 -                      if(fuser) {
 -                              if(!vuexclude(user)) {
 -                                      if (debugm) printf(_("Excluded user: %s\n"),user);
 -                                      totregsx++;
 -                                      continue;
 -                              }
 -                      }
 -
 -                      if(strcmp(user,"-") ==0 || strcmp(user," ") ==0 || strcmp(user,"") ==0 || strcmp(user,":") ==0)
 -                              continue;
 -
 -                      nbytes=atol(tam);
 -                      if (nbytes<0) nbytes=0;
 -                      
 -                      elap_time=atol(elap);
 -                      if (elap_time<0) elap_time=0;
 -                      if(max_elapsed) {
 -                              if(elap_time>max_elapsed) {
 -                                      elap_time=0;
 -                              }
 -                      }
 -
 -                      if((str=(char *) strstr(linebuf, "[SmartFilter:")) != (char *) NULL ) {
 -                              fixendofline(str);
 -                              snprintf(smartfilter,sizeof(smartfilter),"\"%s\"",str+1);
 -                      } else strcpy(smartfilter,"\"\"");
 -
 -                      nopen=0;
 -                      prev_ufile=NULL;
 -                      for (ufile=first_user_file ; ufile && strcmp(user,ufile->user->id)!=0 ; ufile=ufile->next) {
 -                              prev_ufile=ufile;
 -                              if (ufile->file) nopen++;
 -                      }
 -                      if (!ufile) {
 -                              ufile=malloc(sizeof(*ufile));
 -                              if (!ufile) {
 -                                      debuga(_("Not enough memory to store the user %s\n"),user);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              memset(ufile,0,sizeof(*ufile));
 -                              ufile->next=first_user_file;
 -                              first_user_file=ufile;
 -                              uinfo=userinfo_create(user);
 -                              ufile->user=uinfo;
 -                              uinfo->id_is_ip=id_is_ip;
 -                      } else {
 -                              if (prev_ufile) {
 -                                      prev_ufile->next=ufile->next;
 -                                      ufile->next=first_user_file;
 -                                      first_user_file=ufile;
 -                              }
 -                      }
 -#ifdef ENABLE_DOUBLE_CHECK_DATA
 -                      ufile->user->nbytes+=nbytes;
 -                      ufile->user->elap+=elap_time;
 -#endif
 -
 -                      if (ufile->file==NULL) {
 -                              if (nopen>=maxopenfiles) {
 -                                      x=0;
 -                                      for (ufile1=first_user_file ; ufile1 ; ufile1=ufile1->next) {
 -                                              if (ufile1->file!=NULL) {
 -                                                      if (x>=maxopenfiles) {
 -                                                              if (fclose(ufile1->file)==EOF) {
 -                                                                      debuga(_("Failed to close the log file of user %s - %s\n"),ufile1->user->id,strerror(errno));
 -                                                                      exit(EXIT_FAILURE);
 -                                                              }
 -                                                              ufile1->file=NULL;
 -                                                      }
 -                                                      x++;
 -                                              }
 -                                      }
 -                              }
 -                              if (snprintf (tmp3, sizeof(tmp3), "%s/%s.user_unsort", tmp, ufile->user->filename)>=sizeof(tmp3)) {
 -                                      debuga(_("Temporary user file name too long: %s/%s.user_unsort\n"), tmp, ufile->user->filename);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              if ((ufile->file = MY_FOPEN (tmp3, "a")) == NULL) {
 -                                      debuga(_("(log) Cannot open temporary file: %s - %s\n"), tmp3, strerror(errno));
 -                                      exit (1);
 -                              }
 -                      }
 -
 -                      if (fprintf(ufile->file, "%s\t%s\t%s\t%s\t%ld\t%s\t%ld\t%s\n",dia,hora,ip,url,nbytes,code,elap_time,smartfilter)<=0) {
 -                              debuga(_("Write error in the log file of user %s\n"),user);
 -                              exit(EXIT_FAILURE);
 -                      }
 -
 -                      if(fp_log && ilf!=ILF_Sarg)
 -                              fprintf(fp_log, "%s\t%s\t%s\t%s\t%s\t%ld\t%s\t%ld\t%s\n",dia,hora,user,ip,url,nbytes,code,elap_time,smartfilter);
 -
 -                      totregsg++;
 -
 -                      if(!dataonly && download_flag && strstr(code,"DENIED") == 0) {
 -                              ndownload = 1;
 -
 -                              if ( ! fp_Download_Unsort ) {
 -                                      if ((fp_Download_Unsort = MY_FOPEN ( sz_Download_Unsort, "a")) == NULL) {
 -                                              debuga(_("(log) Cannot open temporary file: %s - %s\n"),sz_Download_Unsort, strerror(errno));
 -                                              exit (1);
 -                                      }
 -                              }
 -                              fprintf(fp_Download_Unsort,"%s\t%s\t%s\t%s\t%s\n",dia,hora,user,ip,download_url);
 -                      }
 -
 -                      if((ReportType & REPORT_TYPE_DENIED) != 0) {
 -                              if(fp_denied && strstr(code,"DENIED/403") != 0) {
 -                                      fprintf(fp_denied, "%s\t%s\t%s\t%s\t%s\n",dia,hora,user,ip,full_url);
 -                                      denied_count++;
 -                              }
 -                      }
 -                      if((ReportType & REPORT_TYPE_AUTH_FAILURES) != 0) {
 -                              if(fp_authfail && (strstr(code,"DENIED/401") != 0 || strstr(code,"DENIED/407") != 0)) {
 -                                      fprintf(fp_authfail, "%s\t%s\t%s\t%s\t%s\n",dia,hora,user,ip,full_url);
 -                                      authfail_count++;
 -                              }
 -                      }
 -
 -                      if (ilf!=ILF_Sarg) {
 -                              if(!totper || idata<mindate){
 -                                      mindate=idata;
 -                                      memcpy(&period.start,t,sizeof(*t));
 -                                      strcpy(start_hour,tbuf2);
 -                              }
 -                              if (!totper || idata>maxdate) {
 -                                      maxdate=idata;
 -                                      memcpy(&period.end,t,sizeof(*t));
 -                              }
 -                              totper=true;
 -                      }
 -
 -                      if(debugm){
 -                              printf("IP=\t%s\n",ip);
 -                              printf("USER=\t%s\n",user);
 -                              printf("ELAP=\t%ld\n",elap_time);
 -                              printf("DATE=\t%s\n",dia);
 -                              printf("TIME=\t%s\n",hora);
 -                              printf("FUNC=\t%s\n",fun);
 -                              printf("URL=\t%s\n",url);
 -                              printf("CODE=\t%s\n",code);
 -                              printf("LEN=\t%ld\n",nbytes);
 -                      }
 -              }
 -              if (!from_stdin) {
 -                      if (from_pipe)
 -                              pclose(fp_in);
 -                      else {
 -                              fclose(fp_in);
 -                              if( ShowReadStatistics )
 -                                      printf(_("SARG: Records in file: %lu, reading: %3.2f%%\n"),recs1, (float) 100 );
 -                      }
 -              }
 -      }
 -
 -      if (debug)
 -              debuga(_("   Records read: %ld, written: %ld, excluded: %ld\n"),totregsl,totregsg,totregsx);
 -
 -      longline_destroy(&line);
 -      if ( fp_Download_Unsort )
 -              fclose (fp_Download_Unsort);
 -
 -      for (ufile=first_user_file ; ufile ; ufile=ufile1) {
 -              ufile1=ufile->next;
 -              if (ufile->file!=NULL) fclose(ufile->file);
 -              free(ufile);
 -      }
 +      LogStatus=ReadLogFile(&ReadFilter);
  
        free_download();
        free_excludecodes();
        free_exclude();
  
 -      if(debug) {
 -              int totalcount=0;
 -
 -              for (ilf=0 ; ilf<ILF_Last ; ilf++) totalcount+=ilf_count[ilf];
 -
 -              if(ilf_count[ILF_Common]>0 && ilf_count[ILF_Squid]>0)
 -                      debuga(_("Log with mixed records format (squid and common log)\n"));
 -
 -              if(ilf_count[ILF_Common]>0 && ilf_count[ILF_Squid]==0)
 -                      debuga(_("Common log format\n"));
 -
 -              if(ilf_count[ILF_Common]==0 && ilf_count[ILF_Squid]>0)
 -                      debuga(_("Squid log format\n"));
 -
 -              if(ilf_count[ILF_Sarg]>0)
 -                      debuga(_("Sarg log format\n"));
 -
 -              if(totalcount==0 && totregsg)
 -                      debuga(_("Log with invalid format\n"));
 -      }
 -
 -      if(!totregsg){
 +      if (!LogStatus){
                debuga(_("No records found\n"));
                debuga(_("End\n"));
 -              if(fp_denied) fclose(fp_denied);
 -              if(fp_authfail) fclose(fp_authfail);
                userinfo_free();
                if(userfile) free(userfile);
                close_usertab();
                exit(EXIT_SUCCESS);
        }
  
 -      if (date[0]!='\0') {
 +      if (ReadFilter.DateRange[0]!='\0') {
                char date0[30], date1[30];
  
                strftime(date0,sizeof(date0),"%d/%m/%Y",&period.start);
                exit(EXIT_FAILURE);
        }
  
 -      if(debugz){
 -              debugaz(_("date=%s\n"),dia);
 -              debugaz(_("period=%s\n"),period.text);
 -      }
 -
        if(debug)
                debuga(_("Period: %s\n"),period.text);
  
 -      if(fp_denied)
 -              fclose(fp_denied);
 -      if(fp_authfail)
 -              fclose(fp_authfail);
 -
 -      if(fp_log != NULL) {
 -              char end_hour[128];
 -              char val2[40];
 -              char val4[255];//val4 must not be bigger than arq_log without fixing the strcpy below
 -              
 -              fclose(fp_log);
 -              safe_strcpy(end_hour,tbuf2,sizeof(end_hour));
 -              strftime(val2,sizeof(val2),"%d%m%Y",&period.start);
 -              strftime(val1,sizeof(val1),"%d%m%Y",&period.end);
 -              if (snprintf(val4,sizeof(val4),"%s/sarg-%s_%s-%s_%s.log",ParsedOutputLog,val2,start_hour,val1,end_hour)>=sizeof(val4)) {
 -                      debuga(_("File name too long: %s/sarg-%s_%s-%s_%s.log\n"),ParsedOutputLog,val2,start_hour,val1,end_hour);
 -                      exit(EXIT_FAILURE);
 -              }
 -              if (rename(arq_log,val4)) {
 -                      debuga(_("failed to rename %s to %s - %s\n"),arq_log,val4,strerror(errno));
 -              } else {
 -                      strcpy(arq_log,val4);
 -
 -                      if(strcmp(ParsedOutputLogCompress,"nocompress") != 0 && ParsedOutputLogCompress[0] != '\0') {
 -                              /*
 -                              No double quotes around ParsedOutputLogCompress because it may contain command line options. If double quotes are
 -                              necessary around the command name, put them in the configuration file.
 -                              */
 -                              if (snprintf(val1,sizeof(val1),"%s \"%s\"",ParsedOutputLogCompress,arq_log)>=sizeof(val1)) {
 -                                      debuga(_("Command too long: %s \"%s\"\n"),ParsedOutputLogCompress,arq_log);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                              cstatus=system(val1);
 -                              if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) {
 -                                      debuga(_("command return status %d\n"),WEXITSTATUS(cstatus));
 -                                      debuga(_("command: %s\n"),val1);
 -                                      exit(EXIT_FAILURE);
 -                              }
 -                      }
 -              }
 -              if(debug)
 -                      debuga(_("Sarg parsed log saved as %s\n"),arq_log);
 -      }
 -
 -      if(DataFile[0] == '\0' && (ReportType & REPORT_TYPE_DENIED) != 0) {
 -              if (snprintf(csort,sizeof(csort),"sort -T \"%s\" -t \"\t\" -k 3,3 -k 5,5 -o \"%s\" \"%s\"",tmp,denied_sort,denied_unsort)>=sizeof(csort)) {
 -                      debuga(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),denied_unsort,denied_sort);
 -                      exit(EXIT_FAILURE);
 -              }
 -              cstatus=system(csort);
 -              if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) {
 -                      debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus));
 -                      debuga(_("sort command: %s\n"),csort);
 -                      exit(EXIT_FAILURE);
 -              }
 -              if (!KeepTempLog && unlink(denied_unsort)) {
 -                      debuga(_("Cannot delete \"%s\": %s\n"),denied_unsort,strerror(errno));
 -                      exit(EXIT_FAILURE);
 -              }
 -      }
 -
        if(DataFile[0] != '\0')
                data_file(tmp);
        else
                gerarel();
  
 -      if((ReportType & REPORT_TYPE_DENIED) != 0) {
 -              if (!KeepTempLog && unlink(denied_sort) && errno!=ENOENT)
 -                      debuga(_("Cannot delete \"%s\": %s\n"),denied_sort,strerror(errno));
 -      }
 +      denied_cleanup();
 +      authfail_cleanup();
 +
  
        if(!KeepTempLog && strcmp(tmp,"/tmp") != 0) {
                unlinkdir(tmp,0);
diff --combined po/bg.po
index 7ba68d218151d1d8128d1805af06cdc29f54fa57,2ab8aa0362ccb294720f3f88e240c2f4b75d6e4e..e10cdfe96fbda305a0088c9257ed2b5ad36726e2
+++ b/po/bg.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3-pre1\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Сортировка на файловете"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "Всичко"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Име или IP-адрес"
  
  #: usage.c:35
diff --combined po/ca.po
index 17a3a58ae441f7de222ff32a5f03ff234bfa51b8,acbfbcce8e263939c14022aef86a4aba16a3a09d..31bacb835f283a42662cab2f6acd7a8214a0cf6b
+++ b/po/ca.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Creant index.html"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "AGENT"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Nom de host o direcció IP"
  
  #: usage.c:35
diff --combined po/cs.po
index 0ec2813df40660cf2c030f336f9dd9116be19d66,db2e15d3519a00ec828cb00b1b5b18ece864696c..fd10776818a0daf562931f146db324734c0c9e01
+++ b/po/cs.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Třídím soubor"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "CELKEM"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Jméno hostitele nebo IP adresa"
  
  #: usage.c:35
diff --combined po/de.po
index 33e959b36cec2cd3694fc8926dacac96e9de6fbe,caaf2422b892f7e5834f08a464342fede45f5c82..615932c1c8079586ad6f03010578ecf768610f67
+++ b/po/de.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Sortiere Datei"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "INSGESAMT"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2174,22 -2170,24 +2174,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2786,7 -2784,7 +2788,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Rechnername oder IP-Adresse"
  
  #: usage.c:35
diff --combined po/el.po
index 3eb6c83bd463a03ae59293370987e6537df815de,ea61198e35430ba66b4df5fddc3c6216206bb964..e142cfb668b6c1860fe56906052186adc1b98beb
+++ b/po/el.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Ταξινόμηση αρχείου"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "Σύνολο"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Hostname ή διεύθυνση IP"
  
  #: usage.c:35
diff --combined po/es.po
index b25b768e4475857625ecd4fd1a043eec33b17615,09d1e7d6cb427d9a7e0fe3c73ddfd338c0848d58..0bc44a508146ace396afaeb384728a53b5b2b2a7
+++ b/po/es.po
@@@ -9,7 -9,7 +9,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -159,14 -159,14 +159,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Ordenando archivo"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -510,8 -510,8 +510,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "TOTAL"
@@@ -1349,13 -1349,13 +1349,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1537,11 -1537,7 +1537,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2173,22 -2169,24 +2173,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2785,7 -2783,7 +2787,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Nombre de host o direccion IP"
  
  #: usage.c:35
diff --combined po/hu.po
index c58f9696d365c77659809a534ec85260b23b5eb1,27748a6611ab46fc4ad86afc28ec494d202adaf6..fb11fa874099c2a7af9ee6670ab77ffa36c41eba
+++ b/po/hu.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Rendezés"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "ÖSSZESEN"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Hosztnév vagy IP cím"
  
  #: usage.c:35
diff --combined po/id.po
index 4450957a48d56d4d607e28481a7b739a05bd5cdf,472decb33e59b335408463dda0ba6f37a86c02db..77afa1333b28b9c850418ff54b4a132fc91ec8d7
+++ b/po/id.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Mengurutkan file"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "TOTAL"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Alamat nama host or IP"
  
  #: usage.c:35
diff --combined po/it.po
index 9dbf55684af44257354e0da1e67c7914ad388eb1,f10d36f07d7f85fb1b85449a07919f3cb3b04244..c335d9230d22a7ff17af34463d8161893713c12f
+++ b/po/it.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Sto Ordinano il file"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "TOTALE"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Hostname o indirizzo IP"
  
  #: usage.c:35
diff --combined po/ja.po
index e8db98c83d56d4efa55a6b49f9e1665e0f4c4693,160e743f188ce8e118edc4b69245aa7e7d6ba720..3422fd3d64d7e89854857f7671fec0b33e1d4c3b
+++ b/po/ja.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "ファイルをSort"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "Squidユーザエージェントレポート"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "ホスト名又はIPアドレス"
  
  #: usage.c:35
diff --combined po/lv.po
index 92a03eabb1b159a52df770b40f7bb24d11a66a73,b79f9f8058b82c569878d9f2df99f2cf24043f96..2822e2632d8e6de680ce7d1468669bd2116765b3
+++ b/po/lv.po
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3-pre1\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: 2010-04-25 20:35+0300\n"
  "Last-Translator: Juris Valdovskis <juris@dc.lv>\n"
  "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
@@@ -160,14 -160,14 +160,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Kārtoju failu"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -513,8 -513,8 +513,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "PAVISAM"
@@@ -1352,13 -1352,13 +1352,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1540,11 -1540,7 +1540,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2178,22 -2174,24 +2178,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2790,7 -2788,7 +2792,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Datora vārds vai IP adrese"
  
  #: usage.c:35
diff --combined po/nl.po
index 23fc83b2a627fe5bbc1553259f960053b8c9209f,c6451c10c1433da18aeb2dcdec5ea537aa797ce6..43c3f96cbea6eaf2500732d6bf0b2ef7d23a9358
+++ b/po/nl.po
@@@ -9,7 -9,7 +9,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: 2010-03-31 12:00+0100\n"
  "Last-Translator: Erwin Poeze <erwin.poeze@gmail.com>\n"
  "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@@ -160,14 -160,14 +160,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Sorteren bestand"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -511,8 -511,8 +511,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "TOTAAL"
@@@ -1350,13 -1350,13 +1350,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1538,11 -1538,7 +1538,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2174,22 -2170,24 +2174,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2786,7 -2784,7 +2788,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Hostname of IP adres"
  
  #: usage.c:35
diff --combined po/pl.po
index 6fa834ffc71d05d5649c71d9c9bfe055bdfae847,600241452d56814c49ff7694d991f83008714d3b..6f44aaa4ef00470ff4b8eb6c0076ef227891bac6
+++ b/po/pl.po
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3.2\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: 2012-07-13 15:23+0100\n"
  "Last-Translator: Michał Trzebiatowski <hippie_1968@hotmail.com>\n"
  "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@@ -155,14 -155,14 +155,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr "Nieznana nazwa użytkownika %s w pliku %s\n"
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, c-format
  msgid "Write error in file %s\n"
  msgstr "Błąd zapisu w pliku %s\n"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, c-format
@@@ -500,8 -500,8 +500,8 @@@ msgstr "Występuje nieprawidłowa liczb
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr "Występuje nieprawidłowy spędzony czas w pliku %s\n"
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  msgid "TOTAL"
  msgstr "SUMA"
  
@@@ -1360,14 -1360,14 +1360,14 @@@ msgstr "
  "Zbyt długa nazwa pliku przekierowań podana w linii komend z opcją -L: %s\n"
  
  #: log.c:461
- #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ #, fuzzy, c-format
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr "Okres czasu podany w linii komend z opcją -t musi być MM:SS\n"
  
  #: log.c:469
- #, c-format
+ #, fuzzy, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr "Okres czasu podany w linii komend z opcją -t musi być MM:SS-MM:SS\n"
  
  #: log.c:497
@@@ -1547,15 -1547,7 +1547,15 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
 +#: log.c:752
 +>>>>>>> origin/v2.3
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2184,22 -2176,24 +2184,24 @@@ msgstr "
  msgid "Day report"
  msgstr "Raport dniowy"
  
- #: repday.c:144 repday.c:194
- msgid "H"
- msgstr "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
+ msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr "G:M:S"
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2778,7 +2786,7 @@@ msgid "Usage: %s [options...]\n
  msgstr ""
  
  #: usage.c:33
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr ""
  
  #: usage.c:35
@@@ -3334,6 -3328,9 +3336,9 @@@ msgstr "
  msgid "Unknown path type \"%s\". Check your temporary directory\n"
  msgstr ""
  
+ #~ msgid "H"
+ #~ msgstr "H"
  #, fuzzy
  #~ msgid ""
  #~ "SARG: Maybe you have a broken record or garbage in the names of the "
diff --combined po/pt.po
index 27d24a86f2784685a1a8d0c03319779c0922efbb,8e7990b73ffe48b200306aa9efeded16990241b6..382c99b3b1531ac74bc115a8f00156b801013900
+++ b/po/pt.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Classificando"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "TOTAL"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Hostname ou endereco IP"
  
  #: usage.c:35
diff --combined po/ro.po
index 8c4a2a5e03623bee4965245088eec7861c089084,0674e4344ee40a16d63f1cbdfc26f4702df55c90..8188822225762d4218774480c8faed59b784505a
+++ b/po/ro.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Se sorteaza fisierul"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "TOTAL"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Nume de host sau adresa IP"
  
  #: usage.c:35
diff --combined po/ru.po
index 3aff93cb8bc3749150d9e1139fb08578283964a9,10ba41a1015c0afce0e39f4cdd180908fb1ba0bf..b1ccff374e91e540c11700118500422d36abee91
+++ b/po/ru.po
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3.1\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: 2011-02-21 17:35+0300\n"
  "Last-Translator: Leonid Pushkarev <pushkarev.la@gmail.com>\n"
  "Language-Team: Russian <gnu@mx.ru>\n"
@@@ -153,14 -153,14 +153,14 @@@ 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:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 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:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, c-format
@@@ -492,8 -492,8 +492,8 @@@ msgstr "Ð\9dевеÑ\80ное Ñ\87иÑ\81ло Ð´Ð
  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:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  msgid "TOTAL"
  msgstr "Всего"
  
@@@ -1322,13 -1322,13 +1322,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1509,11 -1509,7 +1509,11 @@@ msgstr "Версия sarg: %s\n
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2141,22 -2137,24 +2141,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
- msgstr "Ч"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
+ msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr "Ч:М:С"
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2743,7 -2741,7 +2745,7 @@@ msgstr "Использование: %s 
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "     -a Хост или IP-адрес"
  
  #: usage.c:35
@@@ -3303,6 -3301,9 +3305,9 @@@ msgstr "Ð\9dе Ñ\83даÑ\91Ñ\82Ñ\81Ñ\8f Ñ\83далиÑ
  msgid "Unknown path type \"%s\". Check your temporary directory\n"
  msgstr ""
  
+ #~ msgid "H"
+ #~ msgstr "Ч"
  #, fuzzy
  #~ msgid ""
  #~ "SARG: Maybe you have a broken record or garbage in the names of the "
diff --combined po/sk.po
index 7095a9b8dbff165f084ccd05c0f08bc137c0da33,1817499ddabcb1cba9142dcb210695290b06e8bc..f9c729834ca026e54cb6b243165fc1e4c61dcade
+++ b/po/sk.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Triedim súbor"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "CELKOM"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Meno hostiteľa alebo IP adresa"
  
  #: usage.c:35
diff --combined po/sr.po
index a7f0623a0c3986dcb415446eabde2987ece57d4b,bb8db30bf374e3c4082d5a2a4a7c945ec4726f51..f790d0ccaf45d201666da9bf4da79c9770d83b14
+++ b/po/sr.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Sortiranje datoteke"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "UKUPNO"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Racunar ili njegova IP adresa"
  
  #: usage.c:35
diff --combined po/tr.po
index cfbc8805a7224959e7276c3b4d400db7c4c8d92a,14e25bb6b15f67f85cc5ce066eb8d4d98a956649..b90bd871bfdde74cabdd49584353cf6969511bb8
+++ b/po/tr.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Dosya siralaniyor"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -509,8 -509,8 +509,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "TOPLAM"
@@@ -1348,13 -1348,13 +1348,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1536,11 -1536,7 +1536,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2172,22 -2168,24 +2172,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2784,7 -2782,7 +2786,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Host ismi veya IP adresi"
  
  #: usage.c:35
diff --combined po/uk.po
index da5f816b52038e9389a68431c088404db51b2324,1c278a28a907183ffee169696a921307a16a1cb3..9257eaab4e552c5651347f246c83a578eac5c77f
+++ b/po/uk.po
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: sarg 2.3\n"
  "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n"
- "POT-Creation-Date: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -158,14 -158,14 +158,14 @@@ msgid "Unknown user ID %s in file %s\n
  msgstr ""
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, fuzzy, c-format
  msgid "Write error in file %s\n"
  msgstr "Сортування файлів"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 topsites.c:321
  #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334
  #, fuzzy, c-format
@@@ -508,8 -508,8 +508,8 @@@ msgstr "
  msgid "There is an invalid elapsed time in file %s\n"
  msgstr ""
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  #, fuzzy
  msgid "TOTAL"
  msgstr "Всього"
@@@ -1347,13 -1347,13 +1347,13 @@@ msgstr "
  
  #: log.c:461
  #, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
  msgstr ""
  
  #: log.c:469
  #, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
  msgstr ""
  
  #: log.c:497
@@@ -1535,11 -1535,7 +1535,11 @@@ msgstr "
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
  msgstr ""
@@@ -2171,22 -2167,24 +2171,24 @@@ msgstr "
  msgid "Day report"
  msgstr ""
  
- #: repday.c:144 repday.c:194
- msgid "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
  msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr ""
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2783,7 -2781,7 +2785,7 @@@ msgstr "
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
  msgstr "Хост або IP-адреса"
  
  #: usage.c:35
diff --combined po/zh_CN.po
index 5782b99b870ea9dedfd5aa60f1fc9bdb04bf2dc3,ffd0c62acd31ad322c6585673f10b309e2323020..4295e6e3b22f91eca7d87422299402b53e362218
@@@ -7,7 -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: 2012-07-16 14:07+0200\n"
+ "POT-Creation-Date: 2012-07-19 09:13+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"
  #: auth.c:42
  #, c-format
  msgid "File name too long: %s/%s/.htaccess\n"
 -msgstr "ÎļþÃû¹ý³¤: %s/%s/.htaccess\n"
 +msgstr "�ļ�������: %s/%s/.htaccess\n"
  
  #: auth.c:46
  #, c-format
  msgid "(auth) Cannot open file: %s - %s\n"
 -msgstr "(auth) ²»ÄÜ´ò¿ªÎļþ: %s - %s\n"
 +msgstr "(auth) ���ܴ����ļ�: %s - %s\n"
  
  #: auth.c:51
  #, c-format
  msgid "(auth) Cannot open template file: %s - %s\n"
 -msgstr "(auth) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s\n"
 +msgstr "(auth) ���ܴ�����ʱ�ļ�: %s - %s\n"
  
  #: authfail.c:34
  #, c-format
@@@ -51,7 -51,7 +51,7 @@@ msgstr[0] "
  #: util.c:1845 util.c:1965
  #, fuzzy, c-format
  msgid "Cannot delete \"%s\": %s\n"
--msgstr " ²»ÄÜɾ³ý %s - %s\n"
++msgstr " ����ɾ�� %s - %s\n"
  
  #: authfail.c:77
  msgid "Authentication failures report not produced because it is empty\n"
@@@ -63,7 -63,7 +63,7 @@@ msgstr "
  #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293
  #, c-format
  msgid "sort command return status %d\n"
 -msgstr "ÅÅÐòÃüÁî·µ»Ø״̬ %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:82 log.c:1681 realtime.c:104
  #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299
  #, c-format
  msgid "sort command: %s\n"
 -msgstr "ÅÅÐòÃüÁî: %s\n"
 +msgstr "��������: %s\n"
  
  #: authfail.c:92 authfail.c:102
  #, c-format
  msgid "(authfail) Cannot open file %s\n"
 -msgstr "(authfail) ²»ÄÜ´ò¿ªÎļþ %s\n"
 -
 +msgstr "(authfail) ���ܴ����ļ� %s\n"
 +
 +<<<<<<< HEAD
 +#: authfail.c:95 authfail.c:208 dansguardian_log.c:158
 +#: dansguardian_report.c:173 download.c:79 download.c:234 email.c:146
 +#: email.c:257 grepday.c:728 html.c:455 html.c:459 html.c:490 html.c:495
 +#: index.c:47 lastlog.c:87 lastlog.c:95 log.c:1694 realtime.c:108
 +#: realtime.c:292 redirector.c:402 redirector.c:579 report.c:335
 +#: siteuser.c:184 smartfilter.c:89 sort.c:89 sort.c:139 topsites.c:178
 +#: topsites.c:214 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152
 +#: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337
 +#, fuzzy, c-format
 +msgid "Cannot delete %s - %s\n"
 +msgstr " ����ɾ�� %s - %s\n"
 +
 +#: authfail.c:104 authfail.c:108 topuser.c:241
 +=======
  #: authfail.c:106 authfail.c:110 topuser.c:241
 +>>>>>>> origin/v2.3
  msgid "Authentication Failures"
 -msgstr "ÈÏ֤ʧ°Ü"
 +msgstr "��֤ʧ��"
  
  #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144
  #: grepday.c:559 redirector.c:472 siteuser.c:86 smartfilter.c:107
  #: smartfilter.c:175 topsites.c:234 topuser.c:218
  #, c-format
  msgid "Period: %s"
 -msgstr "Çø¼ä: %s"
 +msgstr "����: %s"
  
  #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150
  #: email.c:175 realtime.c:314 redirector.c:478 smartfilter.c:116
  #: smartfilter.c:183 topuser.c:269 useragent.c:175
  msgid "USERID"
 -msgstr "Óû§ID"
 +msgstr "�û�ID"
  
  #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150
  #: realtime.c:314 redirector.c:478 smartfilter.c:116 smartfilter.c:183
  msgid "IP/NAME"
 -msgstr "IP/ÐÕÃû"
 +msgstr "IP/����"
  
  #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150
  #: realtime.c:314 redirector.c:478 smartfilter.c:116 smartfilter.c:183
  msgid "DATE/TIME"
 -msgstr "ÈÕÆÚ/ʱ¼ä"
 +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:478 report.c:267 siteuser.c:95
  #: smartfilter.c:116 smartfilter.c:183 topsites.c:250
  msgid "ACCESSED SITE"
 -msgstr "·ÃÎÊÕ¾µã"
 +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
  #, c-format
  msgid "Not enough memory to read file %s\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡Îļþ %s\n"
 +msgstr "û���㹻���ڴ����ȡ�ļ� %s\n"
  
  #: authfail.c:124
  #, c-format
  msgid "There is a broken date in file %s\n"
 -msgstr "Óв»ÍêÕûµÄÈÕÆÚÔÚÎļþ %s\n"
 +msgstr "�в��������������ļ� %s\n"
  
  #: authfail.c:128
  #, c-format
  msgid "There is a broken time in file %s\n"
 -msgstr "Óв»ÍêÕûµÄʱ¼äÔÚÎļþÖР%s\n"
 +msgstr "�в�������ʱ�����ļ��� %s\n"
  
  #: authfail.c:132
  #, c-format
  msgid "There is a broken user ID in file %s\n"
 -msgstr "Óв»ÍêÕûµÄÓû§IDÔÚÎļþÖР%s\n"
 +msgstr "�в��������û�ID���ļ��� %s\n"
  
  #: authfail.c:136
  #, c-format
  msgid "There is a broken IP address in file %s\n"
 -msgstr "Óв»ÍêÕûµÄIPµØÖ·ÔÚÎļþÖР%s\n"
 +msgstr "�в�������IP��ַ���ļ��� %s\n"
  
  #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238
  #, c-format
  msgid "There is a broken url in file %s\n"
 -msgstr "Óв»ÍêÕûµÄÁ¬½ÓÔÚÎļþÖР%s\n"
 +msgstr "�в�������������ļ��� %s\n"
  
  #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:509
  #: siteuser.c:119 smartfilter.c:129 topuser.c:332
  #, c-format
  msgid "Unknown user ID %s in file %s\n"
 -msgstr "δ֪µÄÓû§ID %s ÔÚÎļþ %s\n"
 +msgstr "δ֪���û�ID %s ���ļ� %s\n"
  
  #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229
- #: grepday.c:773 html.c:586 redirector.c:575 repday.c:240 siteuser.c:191
+ #: grepday.c:773 html.c:586 redirector.c:575 repday.c:245 siteuser.c:191
  #: topsites.c:319 useragent.c:332
  #, c-format
  msgid "Write error in file %s\n"
 -msgstr "ÔÚÎļþÖÐÓÐдÈë´íÎó %s\n"
 +msgstr "���ļ�����д������ %s\n"
  
  #: authfail.c:207 convlog.c:80 dansguardian_report.c:171 denied.c:178
- #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:242
+ #: download.c:231 grepday.c:775 html.c:588 redirector.c:577 repday.c:247
  #: siteuser.c:193 splitlog.c:112 splitlog.c:143 splitlog.c:147 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"
 +msgstr "�ر��ļ�ʱʧ�� %s - %s\n"
  
  #: convlog.c:46
  #, fuzzy, c-format
  msgid "(convlog) Cannot open log file %s - %s\n"
 -msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n"
 +msgstr "(log) ���ܴ�����־�ļ�: %s - %s\n"
  
  #: convlog.c:51 splitlog.c:87
  #, fuzzy, c-format
  msgid "Not enough memory to read the log file %s\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n"
 +msgstr "û���㹻���ڴ����ȡ��־�ļ�\n"
  
  #: convlog.c:58
  #, c-format
  msgid "Maybe you have a broken record or garbage in file %s\n"
 -msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø´æÔÚÎļþ %s\n"
 +msgstr "�����в������ļ�¼������������ļ� %s\n"
  
  #: dansguardian_log.c:56
  #, c-format
  msgid "Cannot open DansGuardian config file: %s\n"
 -msgstr "²»ÄÜ´ò¿ª DansGuardian ÅäÖÃÎļþ: %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"
 +msgstr "(dansguardian) ���ܴ�����־�ļ�: %s\n"
  
  #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125
  #: dansguardian_report.c:95 lastlog.c:114 log.c:943 log.c:948 log.c:954
  #: 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"
 +msgstr "�����в������ļ�¼������������� %s �ļ��� \n"
  
  #: dansguardian_log.c:80
  #, fuzzy, c-format
  msgid ""
  "Using the dansguardian log file \"%s\" found in your configuration file \"%s"
  "\"\n"
 -msgstr "ÔÚÅäÖÃÎļþÖдæÔÚ¹ý¶àµÄÈÕÖ¾Îļþ\n"
 +msgstr "�������ļ��д��ڹ�������־�ļ�\n"
  
  #: dansguardian_log.c:87
  #, c-format
  msgid "Reading DansGuardian log file: %s\n"
 -msgstr "¶ÁÈ¡ DansGuardian ÈÕÖ¾Îļþ: %s\n"
 +msgstr "��ȡ DansGuardian ��־�ļ�: %s\n"
  
  #: dansguardian_log.c:100
  #, fuzzy, c-format
  msgid "Invalid date found in your dansguardian log file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: dansguardian_log.c:104
  #, fuzzy, c-format
  msgid "Invalid time found in your dansguardian log file %s\n"
 -msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
 +msgstr "��Ч��ʱ�����ļ��� %s\n"
  
  #: dansguardian_log.c:108
  #, fuzzy, c-format
  msgid "Invalid user found in your dansguardian log file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: dansguardian_log.c:112
  #, fuzzy, c-format
  msgid "Invalid IP address found in your dansguardian log file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:958
  #: log.c:1056
  #, c-format
  msgid "Maybe you have a broken url in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÁ¬½ÓÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "�������в���������������� %s �ļ���\n"
  
  #: dansguardian_log.c:148 redirector.c:387 sort.c:75 useragent.c:132
  #, c-format
  msgid "Sorting file: %s\n"
 -msgstr "ÕýÔÚÅÅÐòÎļþ: %s\n"
 +msgstr "���������ļ�: %s\n"
  
  #: dansguardian_report.c:34
  #, c-format
@@@ -274,7 -258,7 +274,7 @@@ msgstr "£¨dansguardian_report£©ÎÞ
  #: dansguardian_report.c:72 dansguardian_report.c:77
  #, c-format
  msgid "(dansguardian_report) Cannot open log file %s\n"
 -msgstr "(dansguardian_report) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 +msgstr "(dansguardian_report) ���ܴ�����־�ļ� %s\n"
  
  #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237
  msgid "DansGuardian"
@@@ -282,83 -266,78 +282,83 @@@ msgstr "DansGuardian
  
  #: dansguardian_report.c:89
  msgid "CAUSE"
 -msgstr "ԭÒò"
 +msgstr "ԭ��"
  
  #: dansguardian_report.c:103
  #, c-format
  msgid "Maybe you have a broken rule in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¹æÔòÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "�������в������Ĺ��������� %s �ļ���\n"
  
  #: datafile.c:72 html.c:82 report.c:114
  #, fuzzy, c-format
  msgid "Cannot enumerate the user list\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
 +msgstr "û���㹻���ڴ���洢�û� %s\n"
  
  #: datafile.c:83
  #, fuzzy, c-format
  msgid "Reading user file: %s/%s\n"
 -msgstr "Éú³ÉÎļþ: %s/%s\n"
 +msgstr "�����ļ�: %s/%s\n"
  
  #: datafile.c:87
  #, fuzzy, c-format
 +<<<<<<< HEAD
 +msgid "(datafile) directory path too long: %s/%s.log\n"
 +msgstr "(datafile) �ļ���·��̫��: %s/%s\n"
 +=======
  msgid "(datafile) directory path too long: %s/%s.user_log\n"
--msgstr "(datafile) Îļþ¼Ð·¾¶Ì«³¤: %s/%s\n"
++msgstr "(datafile) �ļ���·��̫��: %s/%s\n"
 +>>>>>>> origin/v2.3
  
  #: datafile.c:92 datafile.c:148
  #, c-format
  msgid "(datafile) Cannot open file %s\n"
 -msgstr "(datafile) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 +msgstr "(datafile) ���ܴ�����־�ļ� %s\n"
  
  #: datafile.c:97
  #, c-format
  msgid "Not enough memory to read the downloaded files.\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡ÒÑÏÂÔØÎļþ. \n"
 +msgstr "û���㹻���ڴ�ȥ��ȡ�������ļ�. \n"
  
  #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123
  #, c-format
  msgid "There is a broken record or garbage in file %s\n"
 -msgstr "Óв»ÍêÕûµÄ¼Í¼»òÀ¬»øÔÚÎļþ %s\n"
 +msgstr "�в������ļ�¼��������ļ� %s\n"
  
  #: datafile.c:113
  #, c-format
  msgid "There is an invalid smart info in file %s\n"
 -msgstr "ÓÐÎÞЧµÄÖÇÄÜÐÅÏ¢ÔÚÎļþ %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
  #, c-format
  msgid "Not enough memory to store the url\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥´æ´¢Á¬½Ó\n"
 +msgstr "û���㹻���ڴ�ȥ�洢���\n"
  
  #: datafile.c:198
  #, c-format
  msgid "Datafile %s written successfully\n"
 -msgstr "Êý¾ÝÎļþ %s Ð´Èë³É¹¦\n"
 +msgstr "�����ļ� %s д���ɹ�\n"
  
  #: decomp.c:36
  #, c-format
  msgid "File not found: %s\n"
 -msgstr "δÕÒµ½Îļþ: %s\n"
 +msgstr "δ�ҵ��ļ�: %s\n"
  
  #: decomp.c:42 decomp.c:62
  #, c-format
  msgid "Decompressing log file \"%s\" with zcat\n"
 -msgstr "½âѹËõÈÕÖ¾Îļþ \"%s\" Ê¹ÓÃzcat\n"
 +msgstr "��ѹ����־�ļ� \"%s\" ʹ��zcat\n"
  
  #: decomp.c:44 decomp.c:54 decomp.c:64
  #, c-format
  msgid "decompression command too long for log file %s\n"
 -msgstr "½âѹÈÕÖ¾ÎļþÃüÁî¹ý³¤ %s\n"
 +msgstr "��ѹ��־�ļ��������� %s\n"
  
  #: decomp.c:52
  #, c-format
  msgid "Decompressing log file \"%s\" with bzcat\n"
 -msgstr "½âѹËõÎļþ \"%s\" Ê¹ÓÃbzcat\n"
 +msgstr "��ѹ���ļ� \"%s\" ʹ��bzcat\n"
  
  #: denied.c:34
  #, c-format
@@@ -373,29 -352,21 +373,29 @@@ msgstr "
  #: denied.c:76 denied.c:81
  #, c-format
  msgid "(denied) Cannot open log file %s\n"
 -msgstr "(denied)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 +msgstr "(denied)���ܴ�����־�ļ� %s\n"
  
  #: denied.c:85 denied.c:89
  msgid "Denied"
 -msgstr "ÉùÃ÷"
 +msgstr "����"
  
  #: denied.c:96
  #, c-format
  msgid "Not enough memory to read the denied accesses\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡×èÖ¹·ÃÎÊ\n"
 +msgstr "û���㹻���ڴ����ȡ��ֹ����\n"
 +
 +<<<<<<< HEAD
 +#: denied.c:180
 +#, fuzzy, c-format
 +msgid "Failed to delete the file \"%s\" after processing it - %s\n"
 +msgstr "ɾ���ļ�ʧ�� %s\n"
  
 +=======
 +>>>>>>> origin/v2.3
  #: dichotomic.c:161 dichotomic.c:176
  #, fuzzy, c-format
  msgid "Not enough memory to store the key/value pair %s/%s\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
 +msgstr "û���㹻���ڴ���洢�û� %s\n"
  
  #: download.c:65
  #, c-format
@@@ -405,12 -376,12 +405,12 @@@ msgstr "
  #: download.c:75
  #, fuzzy, c-format
  msgid "Path too long for %s/download.int_unsort\n"
 -msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n"
 +msgstr "�û������� %s/%s.unsort\n"
  
  #: download.c:114
  #, fuzzy
  msgid "No downloaded files to report\n"
 -msgstr "ÏÂÔغó׺Áбí¹ý³¤\n"
 +msgstr "���غ�׺�б�����\n"
  
  #: download.c:125
  msgid "Sorted file doesn't exist (to produce the download report)\n"
@@@ -419,31 -390,31 +419,31 @@@ msgstr "
  #: download.c:133 download.c:138
  #, c-format
  msgid "(download) Cannot open log file %s\n"
 -msgstr "(download) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 +msgstr "(download) ���ܴ�����־�ļ� %s\n"
  
  #: download.c:142 download.c:146 topuser.c:239
  msgid "Downloads"
 -msgstr "ÏÂÔØ"
 +msgstr "����"
  
  #: download.c:153 report.c:156 topuser.c:293
  #, c-format
  msgid "Not enough memory to read the downloaded files\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ\n"
 +msgstr "û���㹻���ڴ����ȡ�����ļ�\n"
  
  #: download.c:275
  #, c-format
  msgid "Download suffix list too long\n"
 -msgstr "ÏÂÔغó׺Áбí¹ý³¤\n"
 +msgstr "���غ�׺�б�����\n"
  
  #: download.c:283
  #, c-format
  msgid "Too many download suffixes\n"
 -msgstr "¹ý¶àµÄÏÂÔغó׺\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"
 +msgstr "(email)���ܴ����ļ� %s\n"
  
  #: email.c:129
  #, c-format
@@@ -459,120 -430,120 +459,120 @@@ msgstr "Ã\91¹Ã\8bõÃ\83üÃ\81î¶Ã\94Ã\93Ã\9aÃ\88Ã\95Ã\96Â
  
  #: email.c:161 log.c:364
  msgid "Squid User Access Report"
 -msgstr "SquidÓû§·ÃÎʱ¨¸æ"
 +msgstr "Squid�û����ʱ���"
  
  #: email.c:165
  msgid "Decreasing Access (bytes)"
 -msgstr "½µµÍ·ÃÎÊ(bytes)"
 +msgstr "���ͷ���(bytes)"
  
  #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167
  msgid "Period"
 -msgstr "ÆÚ¼ä"
 +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
  msgid "NUM"
 -msgstr "Êý×Ö"
 +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
  msgid "CONNECT"
 -msgstr "Á¬½Ó"
 +msgstr "���"
  
  #. TRANSLATORS: This is a column header showing the number of transfered bytes.
  #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140
  #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276
  msgid "BYTES"
 -msgstr "×Ö½Ú"
 +msgstr "�ֽ�"
  
  #: email.c:181 grepday.c:765 html.c:213 topuser.c:280
  msgid "ELAPSED TIME"
 -msgstr "ÒÑʹÓÃʱ¼ä"
 +msgstr "��ʹ��ʱ��"
  
  #: email.c:183 html.c:215 topuser.c:282
  msgid "MILLISEC"
 -msgstr "ºÁÃë"
 +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
  msgid "TIME"
 -msgstr "ʱ¼ä"
 +msgstr "ʱ��"
  
  #: email.c:194 useragent.c:197
  #, c-format
  msgid "There is an invalid user ID in file %s\n"
 -msgstr "ÓÐÒ»¸ö²»´æÔÚµÄÓû§IDÔÚÎļþ %s\n"
 +msgstr "��һ����ڵ��û�ID���ļ� %s\n"
  
  #: email.c:198
  #, c-format
  msgid "There is an invalid number of bytes in file %s\n"
 -msgstr "Óв»´æÔÚµÄ×Ö½ÚÊýÔÚÎļþ %s\n"
 +msgstr "�в����ڵ��ֽ������ļ� %s\n"
  
  #: email.c:202
  #, c-format
  msgid "There is an invalid number of access in file %s\n"
 -msgstr "ÓÐÒ»¸ö²»´æÔڵķÃÎÊÊýÔÚÎļþ %s\n"
 +msgstr "��һ����ڵķ��������ļ� %s\n"
  
  #: email.c:206
  #, c-format
  msgid "There is an invalid elapsed time in file %s\n"
 -msgstr "ÓÐÒ»¸öÎÞЧµÄʱ¼äֵ %s\n"
 +msgstr "��һ����Ч��ʱ��ֵ %s\n"
  
- #: email.c:231 email.c:233 html.c:503 repday.c:145 repday.c:169 repday.c:195
- #: repday.c:219 topuser.c:426 useragent.c:311
+ #: 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
  msgid "TOTAL"
 -msgstr "×Üֵ"
 +msgstr "��ֵ"
  
  #: email.c:247 html.c:564 index.c:432 topuser.c:460
  msgid "AVERAGE"
 -msgstr "ƽ¾ùֵ"
 +msgstr "ƽ��ֵ"
  
  #. TRANSLATORS: The string is formatted using strftime. You can use
  #. any string formatting marker allowed by strftime.
  #: email.c:278
  #, fuzzy, c-format
  msgid "SARG report, %c"
 -msgstr "SARG ±¨¸æ %s"
 +msgstr "SARG ���� %s"
  
  #: email.c:281
  #, fuzzy, c-format
  msgid "Sending mail with command: %s\n"
 -msgstr "ÃüÁî: %s\n"
 +msgstr "����: %s\n"
  
  #: email.c:284 index.c:582 log.c:1663
  #, c-format
  msgid "command return status %d\n"
 -msgstr "ÃüÁî·µ»Ø״̬ %d\n"
 +msgstr "�����״̬ %d\n"
  
  #: email.c:285 index.c:583 log.c:1664
  #, c-format
  msgid "command: %s\n"
 -msgstr "ÃüÁî: %s\n"
 +msgstr "����: %s\n"
  
  #: exclude.c:82 exclude.c:110
  #, c-format
  msgid "Not enough memory to store the exlcluded IP addresses\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢±»ÅųýµÄIPµØַ\n"
 +msgstr "û���㹻���ڴ���洢���ų���IP��ַ\n"
  
  #: exclude.c:161 exclude.c:171
  #, c-format
  msgid "Not enough memory to store the excluded URLs\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢±»ÅųýµÄÁ¬½Ó\n"
 +msgstr "û���㹻���ڴ���洢���ų������\n"
  
  #: exclude.c:196
  #, c-format
  msgid "Cannot open exclude_hosts file: %s - %s\n"
 -msgstr "²»ÄÜ´ò¿ªexclude_hostsÎļþ: %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"
 +msgstr "�����ܾ������ļ���: %s\n"
  
  #: exclude.c:203 exclude.c:317
  #, c-format
  msgid "(gethexclude) Cannot open file %s - %s\n"
 -msgstr "(gethexclude)²»ÄÜ´ò¿ªÎļþ %s - %s\n"
 +msgstr "(gethexclude)���ܴ����ļ� %s - %s\n"
  
  #: exclude.c:214 url.c:596
  #, c-format
@@@ -582,85 -553,85 +582,85 @@@ msgstr "
  #: exclude.c:314
  #, c-format
  msgid "Loading exclude file from: %s\n"
 -msgstr "ÔØÈëÅųýÎļþ´Ó: %s\n"
 +msgstr "�����ų��ļ���: %s\n"
  
  #: exclude.c:322
  #, c-format
  msgid "Failed to move till the end of the excluded users file %s: %s\n"
 -msgstr "ÔÚÅųýÓû§Îļþ֮ǰ²»ÄÜÒƶ¯¸ÃÎļþ %s: %s\n"
 +msgstr "���ų��û��ļ�֮ǰ�����ƶ����ļ� %s: %s\n"
  
  #: exclude.c:327 log.c:1739 usertab.c:73 util.c:1414
  #, c-format
  msgid "Cannot get the size of file %s\n"
 -msgstr "²»Äܵõ½ÎļþµÄ´óС %s\n"
 +msgstr "���ܵõ��ļ��Ĵ�С %s\n"
  
  #: exclude.c:332
  #, c-format
  msgid "Failed to rewind the excluded users file %s: %s\n"
 -msgstr "תÏòÅųýÓû§Îļþʱʧ°Ü %s: %s\n"
 +msgstr "ת���ų��û��ļ�ʱʧ�� %s: %s\n"
  
  #: exclude.c:337
  #, c-format
  msgid "malloc error (%ld bytes required)\n"
 -msgstr "ÄÚ´æÒ²´íÎó (%ld bytes required)\n"
 +msgstr "�ڴ�Ҳ���� (%ld bytes required)\n"
  
  #: getconf.c:210
  #, c-format
  msgid "The string value of parameter \"%s\" is too long\n"
 -msgstr "²ÎÊýµÄ×Ö·û´®Öµ\"%s\" Ì«³¤\n"
 +msgstr "�������ַ���ֵ\"%s\" ̫��\n"
  
  #: getconf.c:230
  #, c-format
  msgid "Missing double quote after parameter \"%s\"\n"
 -msgstr "ÔÚ²ÎÊýÖ®ºóȱÉÙË«ÒýºÅ\"%s\"\n"
 +msgstr "�ڲ���֮��ȱ��˫����\"%s\"\n"
  
  #: getconf.c:242
  #, c-format
  msgid ""
  "Missing double quote after parameter \"%s\" or value is more than %d bytes "
  "long\n"
 -msgstr "ÔÚ²ÎÊýÖ®ºóȱÉÙË«ÒýºÅ \"%s\" »òÕßÊýÖµ´óÓÚ %d ×Ö½Ú³¤\n"
 +msgstr "�ڲ���֮��ȱ��˫���� \"%s\" ������ֵ���� %d �ֽڳ�\n"
  
  #: getconf.c:263
  #, c-format
  msgid "The first word of parameter \"%s\" is more than %d bytes long\n"
 -msgstr "²ÎÊýµÄµÚÒ»¸ö´Ê \"%s\" ´óÓÚ %d ×Ö½Ú³¤\n"
 +msgstr "�����ĵ�һ���� \"%s\" ���� %d �ֽڳ�\n"
  
  #: getconf.c:267
  #, c-format
  msgid "Missing second word for parameter \"%s\"\n"
 -msgstr "²ÎÊýȱÉÙµÚ¶þ¸ö´Ê \"%s\"\n"
 +msgstr "����ȱ�ٵڶ����� \"%s\"\n"
  
  #: getconf.c:277
  #, c-format
  msgid "The second word of parameter \"%s\" is more than %d bytes long\n"
 -msgstr "µÚ¶þ¸ö²ÎÊý \"%s\" ´óÓÚ %d ×Ö½Ú³¤\n"
 +msgstr "�ڶ������� \"%s\" ���� %d �ֽڳ�\n"
  
  #: getconf.c:300
  #, c-format
  msgid "The integer value of parameter \"%s\" is invalid\n"
 -msgstr "ÕûÊýÊýÖµ²ÎÊý \"%s\" ²»´æÔÚ\n"
 +msgstr "������ֵ���� \"%s\" ������\n"
  
  #: getconf.c:352
  #, c-format
  msgid "Unknown value \"%s\" for parameter \"%s\"\n"
 -msgstr "²»´æÔÚµÄÊýÖµ \"%s\" ²ÎÊý \"%s\"\n"
 +msgstr "�����ڵ���ֵ \"%s\" ���� \"%s\"\n"
  
  #: getconf.c:356
  #, c-format
  msgid ""
  "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n"
 -msgstr "ÊýÖµ \"%s\" ³åÍ»ÓëÆäËü±»Ñ¡¶¨µÄ²ÎÊýÊýֵ \"%s\"\n"
 +msgstr "��ֵ \"%s\" ��ͻ��������ѡ���IJ�����ֵ \"%s\"\n"
  
  #: getconf.c:387
  #, fuzzy, c-format
  msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n"
 -msgstr "²»´æÔÚµÄÊýÖµ \"%s\" ²ÎÊý \"%s\"\n"
 +msgstr "�����ڵ���ֵ \"%s\" ���� \"%s\"\n"
  
  #: getconf.c:402
  #, fuzzy, c-format
  msgid "Unknown sort order \"%s\" for parameter \"%s\"\n"
 -msgstr "²»´æÔÚµÄÊýÖµ \"%s\" ²ÎÊý \"%s\"\n"
 +msgstr "�����ڵ���ֵ \"%s\" ���� \"%s\"\n"
  
  #: getconf.c:422
  #, c-format
@@@ -671,32 -642,32 +671,32 @@@ msgstr "SARG: TAG: %s\n
  #, c-format
  msgid ""
  "Maybe you have a broken record or garbage in \"date_format\" parameter\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¼Í¼»òÀ¬»øÔÚ \"date_format\" ²ÎÊýÖÐ\n"
 +msgstr "�������в������ļ�¼������� \"date_format\" ������\n"
  
  #: getconf.c:481
  #, c-format
  msgid "Error: Invalid syntax in hours tag!\n"
 -msgstr "´íÎó: ²»´æÔڵľ䷨ÔÚСʱ±êÇ©ÖÐ!\n"
 +msgstr "����: �����ڵľ䷨��Сʱ��ǩ��!\n"
  
  #: getconf.c:489
  #, c-format
  msgid "Error: Invalid syntax in weekdays tag!\n"
 -msgstr "´íÎó: ²»´æÔڵľ䷨ÔÚÔÚʱ¼ä±êÇ©ÖÐ!\n"
 +msgstr "����: �����ڵľ䷨����ʱ����ǩ��!\n"
  
  #: getconf.c:502
  #, c-format
  msgid "Too many log files in configuration file\n"
 -msgstr "ÔÚÅäÖÃÎļþÖдæÔÚ¹ý¶àµÄÈÕÖ¾Îļþ\n"
 +msgstr "�������ļ��д��ڹ�������־�ļ�\n"
  
  #: getconf.c:514
  #, c-format
  msgid "Too many redirector log files in configuration file\n"
 -msgstr "ÔÚÅäÖÃÎļþÖÐÓжàÓàµÄÖض¨ÏòÈÕÖ¾Îļþ\n"
 +msgstr "�������ļ����ж������ض�����־�ļ�\n"
  
  #: getconf.c:658 getconf.c:665
  #, c-format
  msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n"
 -msgstr "ÔÚ²ÎÊýÖÐÁÙʱÎļþÃû¹ý³¤\"AuthUserTemplateFile\"\n"
 +msgstr "�ڲ�������ʱ�ļ�������\"AuthUserTemplateFile\"\n"
  
  #: getconf.c:683
  #, c-format
@@@ -711,8 -682,8 +711,8 @@@ msgid "
  "squidguard_log_format is deprecated and has been replaced by "
  "redirector_log_format. Please update your configuration file.\n"
  msgstr ""
 -"squidguard_log_formatÒÑʧЧ£¬²¢ÇÒÒѾ­±» redirector_log_format ËùÌæ´ú£¬Çë¸üÐÂ"
 -"ÄúµÄÅäÖÃÎļþ¡£\n"
 +"squidguard_log_format��ʧЧ�������Ѿ��� redirector_log_format ��������������"
 +"���������ļ���\n"
  
  #: getconf.c:702
  #, fuzzy, c-format
@@@ -721,8 -692,8 +721,8 @@@ msgid "
  "redirector_filter_out_date that does the action implied by its name as "
  "opposed to redirector_ignore_date. Please update your configuration file.\n"
  msgstr ""
 -"squidguard_ignore_date ÒÑʧЧ£¬²¢ÇÒÒѾ­±»redirector_ignore_dateËùÌæ´ú¡£Çë¸üÐÂ"
 -"ÄúµÄÅäÖÃÎļþ¡£\n"
 +"squidguard_ignore_date ��ʧЧ�������Ѿ���redirector_ignore_date��������������"
 +"���������ļ���\n"
  
  #: getconf.c:707
  #, fuzzy, c-format
@@@ -731,8 -702,8 +731,8 @@@ msgid "
  "redirector_filter_out_date that does the action implied by its name as "
  "opposed to squidguard_ignore_date. Please update your configuration file.\n"
  msgstr ""
 -"squidguard_ignore_date ÒÑʧЧ£¬²¢ÇÒÒѾ­±»redirector_ignore_dateËùÌæ´ú¡£Çë¸üÐÂ"
 -"ÄúµÄÅäÖÃÎļþ¡£\n"
 +"squidguard_ignore_date ��ʧЧ�������Ѿ���redirector_ignore_date��������������"
 +"���������ļ���\n"
  
  #: getconf.c:714
  #, fuzzy, c-format
@@@ -741,68 -712,68 +741,68 @@@ msgid "
  "dansguardian_filter_out_date that does the action implied by its name as "
  "opposed to dansguardian_ignore_date. Please update your configuration file.\n"
  msgstr ""
 -"squidguard_ignore_date ÒÑʧЧ£¬²¢ÇÒÒѾ­±»redirector_ignore_dateËùÌæ´ú¡£Çë¸üÐÂ"
 -"ÄúµÄÅäÖÃÎļþ¡£\n"
 +"squidguard_ignore_date ��ʧЧ�������Ѿ���redirector_ignore_date��������������"
 +"���������ļ���\n"
  
  #: getconf.c:763 getconf.c:768
  #, c-format
  msgid "The \"byte_cost\" parameter of the configuration file is invalid\n"
 -msgstr "\"byte_cost\" ÅäÖÃÎļþµÄ²ÎÊý²»´æÔÚ\n"
 +msgstr "\"byte_cost\" �����ļ��IJ���������\n"
  
  #: getconf.c:775
  #, c-format
  msgid "SARG: Unknown option %s\n"
 -msgstr "SARG: δ֪µÄÑ¡Ïî %s\n"
 +msgstr "SARG: δ֪��ѡ�� %s\n"
  
  #: getconf.c:784
  #, c-format
  msgid "Loading configuration from %s\n"
 -msgstr "ÔØÈëÅäÖôӠ%s\n"
 +msgstr "�������ô� %s\n"
  
  #: getconf.c:787
  #, c-format
  msgid "(getconf) Cannot open file %s\n"
 -msgstr "(getconf) ²»ÄÜ´ò¿ªÎļþ %s\n"
 +msgstr "(getconf) ���ܴ����ļ� %s\n"
  
  #: grepday.c:144
  #, fuzzy, c-format
  msgid "realloc error (%<PRIu64> bytes required)\n"
 -msgstr "ÖØзÖÅä´íÎó (%zu 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"
 -msgstr "(grepday) iconvת»»×Ö·û´®Ê§°Ü \"%s\" ´Ó %s µ½ UTF-8 - %s \n"
 +msgstr "(grepday) iconvת���ַ���ʧ�� \"%s\" ï¿½ï¿½ %s ï¿½ï¿½ UTF-8 - %s \n"
  
  #: grepday.c:170
  #, c-format
  msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n"
 -msgstr "libgd ¼ÆËãÎı¾Öеı߽çʧ°Ü \"%s\":%s\n"
 +msgstr "libgd �����ı��еı߽�ʧ�� \"%s\":%s\n"
  
  #: grepday.c:237
  #, c-format
  msgid "libgd failed to render the text \"%s\": %s\n"
 -msgstr "libgb Ìá½»Îı¾Ê±Ê§°Ü \"%s\": %s\n"
 +msgstr "libgb �ύ�ı�ʱʧ�� \"%s\": %s\n"
  
  #: grepday.c:296
  #, fuzzy, c-format
  msgid "Minimum for Y scale of the graph is out of range: %<PRId64>\n"
 -msgstr "ÊÓͼµÄY±ÈÀý³¬³ö×îС·¶Χ: %lld\n"
 +msgstr "��ͼ��Y����������С��Χ: %lld\n"
  
  #: grepday.c:300
  #, fuzzy, c-format
  msgid "Maximum for Y scale of the graph is out of range: %<PRId64>\n"
 -msgstr "ÊÓͼµÄY±ÈÀý³¬³ö×î´ó·¶Χ: %lld\n"
 +msgstr "��ͼ��Y��������������Χ: %lld\n"
  
  #: grepday.c:328
  #, c-format
  msgid "Unknown type %d for Y axis scale\n"
 -msgstr "δ֪ÀàÐÍ %d ¶ÔÓÚYÖá±ÈÀý\n"
 +msgstr "δ֪���� %d ����Y������\n"
  
  #: grepday.c:489
  #, c-format
  msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n"
 -msgstr "δ֪µÄÑÕÉ« \"%s\" ¶ÔÓÚ¸ÃͼÐÎ, ÇëʹÓóÈÉ«Ìæ´ú\n"
 +msgstr "δ֪����ɫ \"%s\" ���ڸ�ͼ��, ��ʹ�ó�ɫ����\n"
  
  #: grepday.c:557
  msgid "SARG, "
@@@ -811,17 -782,17 +811,17 @@@ msgstr "SARG,
  #: grepday.c:561
  #, c-format
  msgid "User: %s"
 -msgstr "Óû§: %s"
 +msgstr "�û�: %s"
  
  #: grepday.c:617 grepday.c:734
  #, fuzzy, c-format
  msgid "user name too long for %s/%s/%s\n"
 -msgstr "Óû§Ãû¹ý³¤ %s/%s.day\n"
 +msgstr "�û������� %s/%s.day\n"
  
  #: grepday.c:621 grepday.c:692
  #, c-format
  msgid "(grepday) Cannot open log file %s\n"
 -msgstr "(grepday) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 +msgstr "(grepday) ���ܴ�����־�ļ� %s\n"
  
  #: grepday.c:638
  #, c-format
@@@ -836,292 -807,265 +836,292 @@@ msgstr "
  #: grepday.c:648
  #, c-format
  msgid "(grepday) Fontname %s not found\n"
 -msgstr "(grepday) ×ÖÌåÃû³Æ %s ÕÒ²»µ½\n"
 +msgstr "(grepday) ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ %s ï¿½Ò²ï¿½ï¿½ï¿½\n"
  
  #: grepday.c:655
  #, c-format
  msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n"
 -msgstr "(grepday) iconv ²»ÄÜת»»´Ó %s µ½ UTF-8 - %s\n"
 +msgstr "(grepday) iconv ï¿½ï¿½ï¿½ï¿½×ªï¿½ï¿½ï¿½ï¿½ %s ï¿½ï¿½ UTF-8 - %s\n"
  
  #: grepday.c:679
  #, c-format
  msgid "user name too long for %s/%s.day\n"
 -msgstr "Óû§Ãû¹ý³¤ %s/%s.day\n"
 +msgstr "�û������� %s/%s.day\n"
  
  #: grepday.c:702 redirector.c:487 repday.c:81
  #, c-format
  msgid "Invalid date in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: grepday.c:708
  #, c-format
  msgid "Invalid entry in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n"
 +msgstr "���ļ��д�����Ч���� %s\n"
  
  #: grepday.c:714 repday.c:106
  #, c-format
  msgid "Invalid number of bytes in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÊý×Ö×Ö½Ú %s\n"
 +msgstr "���ļ��д�����Ч�������ֽ� %s\n"
  
  #: grepday.c:721 repday.c:113
  #, c-format
  msgid "Invalid elapsed time in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄʱ¼ä¶Î %s\n"
 +msgstr "���ļ��д�����Ч��ʱ���� %s\n"
  
  #: grepday.c:738
  #, fuzzy, c-format
  msgid "(grepday) Cannot open output file %s\n"
 -msgstr "(grepday) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 +msgstr "(grepday) ���ܴ�����־�ļ� %s\n"
  
  #: grepday.c:741
  #, fuzzy
  msgid "Graph report"
 -msgstr "ÈÕ±¨"
 +msgstr "�ձ�"
  
  #: grepday.c:748 grepday.c:761 index.c:263
  msgid "DAYS"
 -msgstr "ÈÕ"
 +msgstr "��"
  
  #: html.c:64
  #, fuzzy, c-format
  msgid "File name too long: %s/sargtmp.int_unsort\n"
 -msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
 +msgstr "�ļ�������: %s/%s%s\n"
  
  #: html.c:69
  #, fuzzy, c-format
  msgid "File name too long: %s/sargtmp.int_log\n"
 -msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
 +msgstr "�ļ�������: %s/%s.ip\n"
  
  #: html.c:87
  #, c-format
  msgid "Destination directory too long: %s/%s\n"
 -msgstr "Ŀ±êĿ¼¹ý³¤: %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
  #, fuzzy, c-format
  msgid "Cannot create directory %s - %s\n"
 -msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n"
 +msgstr "�����ļ���ʱʧ�� %s - %s\n"
  
  #: html.c:105
  #, fuzzy, c-format
  msgid "Input file name too long: %s/htmlrel.txt\n"
 -msgstr "ÊäÈëµÄÃû³Æ¹ý³¤: %s/%s\n"
 +msgstr "���������ƹ���: %s/%s\n"
  
  #: html.c:110
  #, c-format
  msgid "(html3) Cannot open file %s\n"
 -msgstr "(html3) ²»ÄÜ´ò¿ªÎļþ %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"
 +msgstr "�����ļ�������: %s/%s/%s.html\n"
  
  #: html.c:119
 +<<<<<<< HEAD
 +#, c-format
 +msgid "File name too long: %s/%s/denied_%s.html\n"
 +msgstr "�ļ�������: %s/%s/denied_%s.html\n"
 +=======
  #, fuzzy, c-format
  msgid "File name too long: %s/denied_%s.html\n"
--msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n"
++msgstr "�ļ�������: %s/%s/denied_%s.html\n"
 +>>>>>>> origin/v2.3
  
  #: html.c:140 html.c:230 topuser.c:308
  #, c-format
  msgid "There is a broken number of access in file %s\n"
 -msgstr "Óв»ÍêÕûµÄ·ÃÎÊÊý×ÖÔÚÎļþ %s\n"
 +msgstr "�в������ķ����������ļ� %s\n"
  
  #: html.c:145
  #, c-format
  msgid "There is a broken downloaded size in file %s\n"
 -msgstr "Óв»ÍêÕûµÄÏÂÔØ´óСÔÚÎļþ %s\n"
 +msgstr "�в����������ش�С���ļ� %s\n"
  
  #: html.c:154 html.c:242
  #, c-format
  msgid "There is a broken access code in file %s\n"
 -msgstr "Óв»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÎļþ %s\n"
 +msgstr "�в������ķ��ʴ������ļ� %s\n"
  
  #: html.c:158 html.c:246 report.c:171
  #, c-format
  msgid "There is a broken elapsed time in file %s\n"
 -msgstr "Óв»ÍêÕûµÄʱ¼äÔÚÎļþ %s\n"
 +msgstr "�в�������ʱ�����ļ� %s\n"
  
  #: html.c:163
  #, c-format
  msgid "There is a broken in-cache volume in file %s\n"
 -msgstr "Óв»ÍêÕûµÄin-cache¾íÔÚÎļþ %s\n"
 +msgstr "�в�������in-cache�����ļ� %s\n"
  
  #: html.c:168
  #, c-format
  msgid "There is a broken out-cache volume in file %s\n"
 -msgstr "Óв»ÍêÕûµÄout-cache¾íÔÚÎļþ %s\n"
 +msgstr "�в�������out-cache�����ļ� %s\n"
  
  #: html.c:177
  #, c-format
  msgid "(html5) Cannot open file %s\n"
 -msgstr "(html5) ²»ÄÜ´ò¿ªÎļþ %s\n"
 +msgstr "(html5) ���ܴ����ļ� %s\n"
  
  #: html.c:181 html.c:187
  msgid "User report"
 -msgstr "Óû§±¨¸æ"
 +msgstr "�û�����"
  
  #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177
  msgid "User"
 -msgstr "Óû§"
 +msgstr "�û�"
  
  #: html.c:185 report.c:261
  #, c-format
  msgid "Sort:&nbsp;%s, %s"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: html.c:198 smartfilter.c:109 topuser.c:242
 +msgid "SmartFilter"
 +msgstr "���ܹ���"
 +
 +#: html.c:198
 +msgid "Report"
 +msgstr "����"
 +
 +#: html.c:212 topuser.c:278
 +=======
  #: html.c:192
  #, fuzzy
  msgid "SmartFilter report"
--msgstr "ÖÇÄܹýÂË"
++msgstr "���ܹ���"
  
  #: html.c:211 topuser.c:278
 +>>>>>>> origin/v2.3
  msgid "IN-CACHE-OUT"
  msgstr "IN-CACHE-OUT"
  
  #: html.c:222
  #, c-format
  msgid "Making report: %s\n"
 -msgstr "±ê¼Ç±¨¸æ: %s\n"
 +msgstr "���DZ���: %s\n"
  
  #: html.c:234 topuser.c:304 util.c:771
  #, c-format
  msgid "There is a broken number of bytes in file %s\n"
 -msgstr "Óв»ÍêÕûµÄ×Ö½ÚÊý×ÖÔÚÎļþ %s\n"
 +msgstr "�в��������ֽ��������ļ� %s\n"
  
  #: html.c:250
  #, c-format
  msgid "There is a broken in cache column in file %s\n"
 -msgstr "ÖжÏÔÚ»º´æÁÐÄÚÔÚÎļþ %s\n"
 +msgstr "�ж��ڻ����������ļ� %s\n"
  
  #: html.c:254
  #, c-format
  msgid "There is a broken out of cache column in file %s (%d)\n"
 -msgstr "ÖжÏÔÚ»º´æÁÐÍâÔÚÎļþ %s(%d)\n"
 +msgstr "�ж��ڻ����������ļ� %s(%d)\n"
  
  #: html.c:268 topuser.c:355
  msgid "date/time report"
 -msgstr "ÈÕÆÚ/ʱ¼ä ±¨¸æ"
 +msgstr "����/ʱ�� ����"
  
  #: html.c:321
  msgid "DENIED"
 -msgstr "×èֹ"
 +msgstr "��ֹ"
  
 +<<<<<<< HEAD
 +#: html.c:330
 +#, fuzzy, c-format
 +msgid "Cannot delete unused file \"%s\" - %s\n"
 +msgstr "�޷�ɾ����ʱ�ļ� %s - %s\n"
 +
 +#: html.c:336
 +=======
  #: html.c:335
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "File name too long: %s/%s.ip\n"
 -msgstr "ÎļþÃû¹ý³¤: %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"
 +msgstr "(html6)���ܴ����ļ� %s\n"
  
  #: html.c:345
  #, c-format
  msgid "(html7) Cannot open file %s\n"
 -msgstr "(html7) ²»ÄÜ´ò¿ªÎļþ %s\n"
 +msgstr "(html7) ���ܴ����ļ� %s\n"
  
  #: html.c:356 html.c:417
  #, c-format
  msgid "Maybe you have a broken user IP in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÓû§IPµØÖ·ÔÚÄãµÄ %s ÎļþÖР\n"
 +msgstr "�������в��������û�IP��ַ������ %s �ļ��� \n"
  
  #: html.c:365 log.c:1241
  #, c-format
  msgid "Maybe you have a broken day in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖР\n"
 +msgstr "�������в����������������� %s �ļ��� \n"
  
  #: html.c:369 log.c:1200
  #, c-format
  msgid "Maybe you have a broken time in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "�������в�������ʱ�������� %s �ļ���\n"
  
  #: html.c:373 html.c:421
  #, c-format
  msgid "Maybe you have a broken size in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ´óСÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "�������в������Ĵ�С������ %s �ļ���\n"
  
  #: html.c:377 html.c:425 log.c:1030 log.c:1035
  #, c-format
  msgid "Maybe you have a broken elapsed time in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "�������в������Ĺ�ȥʱ�������� %s �ļ���\n"
  
  #: html.c:399
  #, c-format
  msgid "(html8) Cannot open file %s\n"
 -msgstr "(html8) ²»ÄÜ´ò¿ªÎļþ %s\n"
 +msgstr "(html8) ���ܴ����ļ� %s\n"
  
  #: html.c:533
  #, c-format
  msgid "(html9) Cannot open file %s\n"
 -msgstr "(html9) ²»ÄÜ´ò¿ªÎļþ %s\n"
 +msgstr "(html9) ���ܴ����ļ� %s\n"
  
  #: html.c:548
  #, c-format
  msgid "(html10) Cannot open file %s\n"
 -msgstr "(html10) ²»ÄÜ´ò¿ªÎļþ %s\n"
 +msgstr "(html10) ���ܴ����ļ� %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"
 +msgstr "�û�%s �������� (%d MB). ���ӵ��ļ� %s\n"
  
  #: index.c:54
  #, c-format
  msgid "Making index.html\n"
 -msgstr "±ê¼Ç index.html\n"
 +msgstr "���� index.html\n"
  
  #: index.c:58 index.c:112 index.c:167 index.c:228 index.c:330 indexonly.c:38
  #: lastlog.c:56
  #, c-format
  msgid "Failed to open directory %s - %s\n"
 -msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n"
 +msgstr "�����ļ���ʱʧ�� %s - %s\n"
  
  #: index.c:143 index.c:195 index.c:256
  #, c-format
  msgid "(index) Cannot open file %s - %s\n"
 -msgstr "(index) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
 +msgstr "(index) ���ܴ����ļ� %s - %s\n"
  
  #: index.c:146 index.c:427
  msgid "SARG report"
  msgid_plural "SARG reports"
 -msgstr[0] "SARG ±¨¸æ"
 +msgstr[0] "SARG ����"
  
  #: index.c:149 index.c:202 index.c:263
  msgid "YEAR"
 -msgstr "Äê"
 +msgstr "��"
  
  #: index.c:151
  msgid "SIZE"
 -msgstr "´óС"
 +msgstr "��С"
  
  #: index.c:182
  #, c-format
@@@ -1129,8 -1073,8 +1129,8 @@@ msgid "
  "Too many month directories in %s\n"
  "Supernumerary entries are ignored\n"
  msgstr ""
 -"̫¶àÔ·ÝÎļþ¼ÐÔÚ %s\n"
 -"¶àÓàµÄÊäÈë±»ºöÂÔ\n"
 +"̫���·��ļ����� %s\n"
 +"���������뱻����\n"
  
  #: index.c:198
  #, c-format
@@@ -1140,7 -1084,7 +1140,7 @@@ msgstr[0] "SARG report %04d
  
  #: index.c:202 index.c:263
  msgid "MONTH"
 -msgstr "Ô·Ý"
 +msgstr "�·�"
  
  #: index.c:243
  #, c-format
@@@ -1148,24 -1092,24 +1148,24 @@@ msgid "
  "Too many day directories in %s\n"
  "Supernumerary entries are ignored\n"
  msgstr ""
 -"¹ý¶àµÄÈÕÆÚÎļþ¼ÐÔÚ %s\n"
 -"¶àÓàÊä³ö±»Ìø¹ý\n"
 +"�����������ļ����� %s\n"
 +"��������������\n"
  
  #: index.c:259
  #, c-format
  msgid "SARG: report for %04d/%02d"
  msgid_plural "SARG: reports for %04d/%02d"
 -msgstr[0] "SARG ±¨¸æ %04d/%02d"
 +msgstr[0] "SARG ���� %04d/%02d"
  
  #: 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"
 +msgstr "д������������ %s\n"
  
  #: 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"
 +msgstr "�뿪�����ļ�ʱʧ�� %s - %s\n"
  
  #: index.c:340
  #, c-format
@@@ -1177,80 -1121,72 +1177,80 @@@ msgstr "
  #: index.c:345 index.c:405
  #, c-format
  msgid "not enough memory to sort the index\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥ÅÅÐòË÷Òý\n"
 +msgstr "û���㹻���ڴ�ȥ��������\n"
  
  #: index.c:367
  #, c-format
  msgid "Maybe you have a broken week day in your %s%s/sarg-date file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n"
 +msgstr "�������в����������������� %s%s/sarg-date �ļ���\n"
  
  #: index.c:371
  #, c-format
  msgid "Maybe you have a broken month in your %s%s/sarg-date file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n"
 +msgstr "�������в��������·������� %s%s/sarg-date �ļ���\n"
  
  #: index.c:375
  #, c-format
  msgid "Maybe you have a broken day in your %s%s/sarg-date file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n"
 +msgstr "�������в����������������� %s%s/sarg-date �ļ���\n"
  
  #: index.c:379 index.c:389
  #, c-format
  msgid "Maybe you have a broken time in your %s%s/sarg-date file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄʱ¼äÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n"
 +msgstr "�������в�������ʱ�������� %s%s/sarg-date �ļ���\n"
  
  #: index.c:384
  #, c-format
  msgid "Maybe you have a broken year in your %s%s/sarg-date file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÄê·ÝÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n"
 +msgstr "�������в����������������� %s%s/sarg-date �ļ���\n"
  
  #: index.c:397
  #, c-format
  msgid "Not enough memory to store the directory name \"%s\" in the index\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢ÎļþÃûÔÚ \"%s\" ÔÚË÷ÒýÖÐ\n"
 +msgstr "û���㹻���ڴ���洢�ļ����� \"%s\" ��������\n"
  
  #: index.c:424
  #, c-format
  msgid "(index) Cannot open file %s\n"
 -msgstr "(index) ²»ÄÜ´ò¿ªÎļþ %s\n"
 +msgstr "(index) ���ܴ����ļ� %s\n"
  
  #: index.c:432
  msgid "FILE/PERIOD"
 -msgstr "Îļþ/ÖÜÆÚ"
 +msgstr "�ļ�/����"
  
  #: index.c:432
  msgid "CREATION DATE"
 -msgstr "´´½¨ÈÕÆÚ"
 +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
  msgid "USERS"
 -msgstr "Óû§"
 +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"
 +msgstr "(index)������������ \"%s\" �� \"%s\" - %s\n"
  
  #: index.c:572
  #, c-format
  msgid "failed to create link \"%s\" to \"%s\" - %s\n"
 -msgstr "´´½¨Á¬½Óʧ°Ü \"%s\" ÖÁ \"%s\" - %s\n"
 +msgstr "�������ʧ�� \"%s\" �� \"%s\" - %s\n"
  
  #: indexonly.c:46
  #, c-format
  msgid "Name of the file to remove is too long: %s/%s\n"
 -msgstr "ÒƳýµÄÎļþÃû¹ý³¤: %s/%s\n"
 +msgstr "�Ƴ����ļ�������: %s/%s\n"
 +
 +<<<<<<< HEAD
 +#: indexonly.c:50
 +#, fuzzy, c-format
 +msgid "Failed to remove the file %s: %s\n"
 +msgstr "�Ƴ��ļ�ʧ�� %s\n"
  
 +=======
 +>>>>>>> origin/v2.3
  #: ip2name.c:66 ip2name.c:198
  #, c-format
  msgid "Chaining IP resolving module \"%s\"\n"
@@@ -1279,12 -1215,12 +1279,12 @@@ msgstr "
  #: ip2name.c:226
  #, fuzzy, c-format
  msgid "Not enough memory to store the names corresponding to the IP address\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢±»ÅųýµÄIPµØַ\n"
 +msgstr "û���㹻���ڴ���洢���ų���IP��ַ\n"
  
  #: ip2name.c:279
  #, fuzzy, c-format
  msgid "Cannot resolve host name %s: %s\n"
 -msgstr " ²»ÄÜɾ³ý %s - %s\n"
 +msgstr " ����ɾ�� %s - %s\n"
  
  #: ip2name.c:286
  #, c-format
@@@ -1308,15 -1244,9 +1308,15 @@@ msgstr "
  #: ip2name_dns.c:93
  #, fuzzy, c-format
  msgid ""
 +<<<<<<< HEAD
 +"IP to name resolution (getnameinfo) on IP address %s failed with error %d - "
 +"%s\n"
 +msgstr "IP��ַ�����ֵ�ת�� (getnameinfo) ��IP��ַ %s ��������ʧ��  %d - %s\n"
 +=======
  "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error "
  "%d - %s\n"
--msgstr "IPµØÖ·µ½Ãû×ÖµÄת»» (getnameinfo) ÔÚIPµØÖ· %s ·¢Éú´íÎóʧ°Ü  %d - %s\n"
++msgstr "IP��ַ�����ֵ�ת�� (getnameinfo) ��IP��ַ %s ��������ʧ��  %d - %s\n"
 +>>>>>>> origin/v2.3
  
  #: ip2name_exec.c:61
  #, c-format
@@@ -1334,109 -1264,90 +1334,109 @@@ msgstr "
  
  #: ip2name_exec.c:95
  #, fuzzy, c-format
 +<<<<<<< HEAD
 +msgid "IP address %s too long for the command to run\n"
 +msgstr "IP��ַ�����򲻴��� %s\n"
 +
 +#: ip2name_exec.c:103
 +#, fuzzy, c-format
 +msgid "IP address %.*s too long for the command to run\n"
 +msgstr "IP��ַ�����򲻴��� %s\n"
 +=======
  msgid "IP address \"%s\" too long for the command to run\n"
--msgstr "IPµØÖ·¹ý³¤»ò²»´æÔÚ %s\n"
++msgstr "IP��ַ�����򲻴��� %s\n"
  
  #: ip2name_exec.c:103
  #, fuzzy, c-format
  msgid "IP address \"%.*s\" too long for the command to run\n"
--msgstr "IPµØÖ·¹ý³¤»ò²»´æÔÚ %s\n"
++msgstr "IP��ַ�����򲻴��� %s\n"
 +>>>>>>> origin/v2.3
  
  #: ip2name_exec.c:113
  #, fuzzy, c-format
  msgid "Cannot run command %s\n"
 -msgstr "ÅÅÐòÃüÁî: %s\n"
 +msgstr "��������: %s\n"
  
  #: ip2name_exec.c:120
  #, fuzzy, c-format
  msgid "Command failed: %s\n"
 -msgstr "ÃüÁî: %s\n"
 +msgstr "����: %s\n"
  
  #: lastlog.c:51 lastlog.c:106
  #, c-format
  msgid "(lastlog) Cannot open temporary file %s\n"
 -msgstr "(lastlog) ²»ÄÜ´ò¿ªÁÙʱÎļþ %s\n"
 +msgstr "(lastlog) ���ܴ�����ʱ�ļ� %s\n"
  
  #: lastlog.c:65
  #, c-format
  msgid "Failed to get the creation time of %s\n"
 -msgstr "»ñÈ¡Îļþ´´½¨Ê±¼äʱʧ°Ü %s\n"
 +msgstr "��ȡ�ļ�����ʱ��ʱʧ�� %s\n"
  
  #: lastlog.c:119
  #, c-format
  msgid "Removing old report file %s\n"
 -msgstr "Òƶ¯¾ÉµÄ±¨¸æÎļþ %s\n"
 +msgstr "�ƶ��ɵı����ļ� %s\n"
  
  #: lastlog.c:121
  #, c-format
  msgid "Directory name too long: %s%s\n"
 -msgstr "Îļþ¼ÐÃû³Æ¹ý³¤: %s%s\n"
 +msgstr "�ļ������ƹ���: %s%s\n"
  
 +<<<<<<< HEAD
 +#: lastlog.c:131
 +#, c-format
 +msgid "Failed to delete the file %s\n"
 +msgstr "ɾ���ļ�ʧ�� %s\n"
 +
 +#: log.c:406
 +=======
  #: log.c:410
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "Too many log files passed on command line with option -l.\n"
 -msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n"
 +msgstr "�����˹�������־�ļ�ʹ�������в��� -l.\n"
  
  #: log.c:414
  #, c-format
  msgid "Log file name too long passed on command line with option -l: %s\n"
 -msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n"
 +msgstr "���������в��� -l ����־�ļ�������: %s\n"
  
  #: log.c:423
  #, c-format
  msgid "Too many redirector logs passed on command line with option -L.\n"
 -msgstr "´«ÈëÃüÁîÐвÎÊý -LµÄÖض¨ÏòÈÕÖ¾Îļþ¹ý¶à.\n"
 +msgstr "���������в��� -L���ض�����־�ļ�����.\n"
  
  #: log.c:427
  #, c-format
  msgid ""
  "Redirector log file name too long passed on command line with opton -L: %s\n"
 -msgstr "´«ÈëÃüÁîÐвÎÊý -L µÄÖض¨ÏòÈÕÖ¾ÎļþÃû¹ý³¤: %s\n"
 +msgstr "���������в��� -L ���ض�����־�ļ�������: %s\n"
  
  #: log.c:461
  #, fuzzy, c-format
- msgid "Time period passed on the command line with option -t must be MM:SS\n"
+ msgid "Time period passed on the command line with option -t must be HH:MM\n"
 -msgstr "ʱ¼äÇø¼ä´«ÈëÃüÁîÐвÎÊý -t ²»´æÔÚ\n"
 +msgstr "ʱ�����䴫�������в��� -t ������\n"
  
  #: log.c:469
  #, fuzzy, c-format
  msgid ""
- "Time range passed on the command line with option -t must be MM:SS-MM:SS\n"
+ "Time range passed on the command line with option -t must be HH:MM-HH:MM\n"
 -msgstr "ʱ¼äÇø¼ä´«ÈëÃüÁîÐвÎÊý -t ²»´æÔÚ\n"
 +msgstr "ʱ�����䴫�������в��� -t ������\n"
  
  #: log.c:497
  #, fuzzy, c-format
  msgid "Option -%c requires an argument\n"
 -msgstr "ѡÏî -%c ÐèÒªÒ»¸öÅжÏ\n"
 +msgstr "ѡ�� -%c ��Ҫһ���ж�\n"
  
  #: log.c:515
  #, fuzzy, c-format
  msgid "Too many log files passed on command line.\n"
 -msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n"
 +msgstr "�����˹�������־�ļ�ʹ�������в��� -l.\n"
  
  #: log.c:519
  #, fuzzy, c-format
  msgid "Log file name too long passed on command line: %s\n"
 -msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n"
 +msgstr "���������в��� -l ����־�ļ�������: %s\n"
  
  #: log.c:528
  #, c-format
@@@ -1446,7 -1357,7 +1446,7 @@@ msgstr "Init\n
  #: log.c:532
  #, c-format
  msgid "Cannot open config file: %s - %s\n"
 -msgstr "²»ÄÜ´ò¿ªÅäÖÃÎļþ: %s -%s\n"
 +msgstr "���ܴ��������ļ�: %s -%s\n"
  
  #: log.c:640
  #, c-format
@@@ -1457,138 -1368,133 +1457,138 @@@ msgstr "
  
  #: log.c:653
  #, fuzzy, c-format
 +<<<<<<< HEAD
 +msgid "Deleting directory %s\n"
 +msgstr "�����ļ���ʱʧ�� %s - %s\n"
 +=======
  msgid "Deleting temporary directory \"%s\"\n"
--msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n"
++msgstr "�����ļ���ʱʧ�� %s - %s\n"
 +>>>>>>> origin/v2.3
  
  #: log.c:662 log.c:695
  #, c-format
  msgid "Parameters:\n"
 -msgstr "²ÎÊý:\n"
 +msgstr "����:\n"
  
  #: log.c:663 log.c:696
  #, c-format
  msgid "          Hostname or IP address (-a) = %s\n"
 -msgstr "          Ö÷»úÃû»òÕßIPµØַ(-a) = %s\n"
 +msgstr "          ����������IP��ַ(-a) = %s\n"
  
  #: log.c:664 log.c:697
  #, c-format
  msgid "                   Useragent log (-b) = %s\n"
 -msgstr "                   Óû§´úÀí  ÈÕ־w (-b) = %s\n"
 +msgstr "                   �û�����  ��־w (-b) = %s\n"
  
  #: log.c:665 log.c:698
  #, c-format
  msgid "                    Exclude file (-c) = %s\n"
 -msgstr "                    Åųý Îļþ (-c) = %s\n"
 +msgstr "                    �ų� �ļ� (-c) = %s\n"
  
  #: log.c:666 log.c:699
  #, c-format
  msgid "                 Date from-until (-d) = %s\n"
 -msgstr "                 ÈÕÆÚ ´Ó-ÖÁ (-d) = %s\n"
 +msgstr "                 ���� ��-�� (-d) = %s\n"
  
  #: log.c:667 log.c:700
  #, c-format
  msgid "   Email address to send reports (-e) = %s\n"
 -msgstr "   ÓʼþµØÖ·ÓÃÀ´·¢Ëͱ¨¸æ (-e) = %s\n"
 +msgstr "   �ʼ���ַ������ͱ��� (-e) = %s\n"
  
  #: log.c:668 log.c:701
  #, c-format
  msgid "                     Config file (-f) = %s\n"
 -msgstr "                     ÅäÖÃÎļþ (-f) = %s\n"
 +msgstr "                     �����ļ� (-f) = %s\n"
  
  #: log.c:670 log.c:703
  #, c-format
  msgid "                     Date format (-g) = Europe (dd/mm/yyyy)\n"
 -msgstr "                     ÈÕÆÚ¸ñʽ (-g) = Å·ÖÞ (dd/mm/yyyy)\n"
 +msgstr "                     ���ڸ�ʽ (-g) = ŷ�� (dd/mm/yyyy)\n"
  
  #: log.c:672 log.c:705
  #, c-format
  msgid "                     Date format (-g) = USA (mm/dd/yyyy)\n"
 -msgstr "                     ÈÕÆÚ¸ñʽ (-g) = ÃÀ¹ú (mm/dd/yyyy)\n"
 +msgstr "                     ���ڸ�ʽ (-g) = ��� (mm/dd/yyyy)\n"
  
  #: log.c:674 log.c:707
  #, c-format
  msgid "                     Date format (-g) = Sites & Users (yyyy/ww)\n"
 -msgstr "                     ÈÕÆÚ¸ñʽ (-g) = Õ¾µã & Óû§ (yyyy/ww)\n"
 +msgstr "                     ���ڸ�ʽ (-g) = վ�� & �û� (yyyy/ww)\n"
  
  #: log.c:675 log.c:708
  #, c-format
  msgid "                       IP report (-i) = %s\n"
 -msgstr "                       IP±¨¸æ (-i) = %s\n"
 +msgstr "                       IP���� (-i) = %s\n"
  
  #: log.c:675 log.c:676 log.c:681 log.c:683 log.c:688 log.c:689 log.c:708
  #: log.c:709 log.c:714 log.c:716 log.c:721 log.c:722
  msgid "Yes"
 -msgstr "ÊÇ"
 +msgstr "��"
  
  #: log.c:675 log.c:676 log.c:681 log.c:683 log.c:688 log.c:689 log.c:708
  #: log.c:709 log.c:714 log.c:716 log.c:721 log.c:722
  msgid "No"
 -msgstr "·ñ"
 +msgstr "��"
  
  #: log.c:676 log.c:709
  #, fuzzy, c-format
  msgid "            Keep temporary files (-k) = %s\n"
--msgstr "                   ÁÙʱÎļþĿ¼ (-w) = %s\n"
++msgstr "                   ��ʱ�ļ�Ŀ¼ (-w) = %s\n"
  
  #: log.c:678 log.c:711
  #, c-format
  msgid "                       Input log (-l) = %s\n"
 -msgstr "                       ÊäÈëµÄÈÕ־ (-l) = %s\n"
 +msgstr "                       ��������־ (-l) = %s\n"
  
  #: log.c:680 log.c:713
  #, c-format
  msgid "                  Redirector log (-L) = %s\n"
 -msgstr "                  Öض¨ÏòÈÕ־  (-L) = %s\n"
 +msgstr "                  �ض�����־  (-L) = %s\n"
  
  #: log.c:681 log.c:714
  #, c-format
  msgid "              Resolve IP Address (-n) = %s\n"
 -msgstr "              ת»»IPµØַ (-n) = %s\n"
 +msgstr "              ת��IP��ַ (-n) = %s\n"
  
  #: log.c:682 log.c:715
  #, c-format
  msgid "                      Output dir (-o) = %s\n"
 -msgstr "                      Êä³öĿ¼ (-o) = %s\n"
 +msgstr "                      ����Ŀ¼ (-o) = %s\n"
  
  #: log.c:683 log.c:716
  #, c-format
  msgid "Use Ip Address instead of userid (-p) = %s\n"
 -msgstr "ʹÓÃIPµØÖ·Ìæ´úÓû§ID (-p) = %s\n"
 +msgstr "ʹ��IP��ַ�����û�ID (-p) = %s\n"
  
  #: log.c:684 log.c:717
  #, c-format
  msgid "                   Accessed site (-s) = %s\n"
 -msgstr "                   ·ÃÎÊÕ¾µã (-s) = %s\n"
 +msgstr "                   ����վ�� (-s) = %s\n"
  
  #: log.c:685 log.c:718
  #, c-format
  msgid "                            Time (-t) = %s\n"
 -msgstr "                            ʱ¼ä (-t) = %s\n"
 +msgstr "                            ʱ�� (-t) = %s\n"
  
  #: log.c:686 log.c:719
  #, c-format
  msgid "                            User (-u) = %s\n"
 -msgstr "                            Óû§ (-u) = %s\n"
 +msgstr "                            �û� (-u) = %s\n"
  
  #: log.c:687 log.c:720
  #, c-format
  msgid "                   Temporary dir (-w) = %s\n"
 -msgstr "                   ÁÙʱÎļþĿ¼ (-w) = %s\n"
 +msgstr "                   ��ʱ�ļ�Ŀ¼ (-w) = %s\n"
  
  #: log.c:688 log.c:721
  #, c-format
  msgid "                  Debug messages (-x) = %s\n"
 -msgstr "                  ¾À´íÐÅϢ (-x) = %s\n"
 +msgstr "                  �����Ϣ (-x) = %s\n"
  
  #: log.c:689 log.c:722
  #, c-format
  msgid "                Process messages (-z) = %s\n"
 -msgstr "                ½ø³ÌÐÅϢ (-z) = %s\n"
 +msgstr "                ������Ϣ (-z) = %s\n"
  
  #: log.c:690 log.c:723
  #, c-format
@@@ -1598,274 -1504,265 +1598,274 @@@ msgstr "
  #: log.c:724 log.c:728
  #, c-format
  msgid "sarg version: %s\n"
 -msgstr "sarg °汾: %s\n"
 +msgstr "sarg 汾: %s\n"
  
  #: log.c:731
  #, c-format
  msgid "Sarg compiled to report warnings if the output is inconsistent\n"
  msgstr ""
  
 +<<<<<<< HEAD
 +#: log.c:740
 +=======
  #: log.c:761
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "setrlimit error - %s\n"
 -msgstr "setrlimit ´íÎó - %s\n"
 +msgstr "setrlimit ���� - %s\n"
  
  #: log.c:772
  #, c-format
  msgid "Not enough memory to read a log file\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Ò»¸öÈÕÖ¾Îļþ\n"
 +msgstr "û���㹻���ڴ�ȥ��ȡһ����־�ļ�\n"
  
  #: log.c:781 log.c:788
  #, c-format
  msgid "(log) Cannot open file: %s - %s\n"
 -msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n"
 +msgstr "(log) ���ܴ�����־�ļ�: %s - %s\n"
  
  #: log.c:801
  #, c-format
  msgid "Reading access log file: from stdin\n"
 -msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: ´Ó stdin\n"
 +msgstr "��ȡ������־�ļ�: �� stdin\n"
  
  #: log.c:807
  #, c-format
  msgid ""
  "Cannot get the modification time of input log file %s (%s). Processing it "
  "anyway\n"
 -msgstr "²»Äܵõ½ÊäÈëÈÕÖ¾ÎļþµÄÐÞ¸Äʱ¼ä %s (%s). ½ø³ÌÕýÔÚ¼ÌÐø\n"
 +msgstr "���ܵõ�������־�ļ����޸�ʱ�� %s (%s). �������ڼ���\n"
  
  #: log.c:811
  #, c-format
  msgid "Ignoring old log file %s\n"
 -msgstr "ºöÂԳ¾ɵÄÈÕÖ¾Îļþ %s\n"
 +msgstr "���Գ¾ɵ���־�ļ� %s\n"
  
  #: log.c:818 log.c:889
  #, c-format
  msgid "(log) Cannot open log file: %s - %s\n"
 -msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n"
 +msgstr "(log) ���ܴ�����־�ļ�: %s - %s\n"
  
  #: log.c:821
  #, c-format
  msgid "Reading access log file: %s\n"
 -msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s\n"
 +msgstr "��ȡ������־�ļ�: %s\n"
  
  #: log.c:849
  #, c-format
  msgid "SARG: Records in file: %lu, reading: %3.2f%%"
 -msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶Áȡ: %3.2f%%"
 +msgstr "SARG: ��¼���ļ�: %lu, ��ȡ: %3.2f%%"
  
  #: log.c:863
  #, c-format
  msgid "Log is from Microsoft ISA: %s\n"
 -msgstr "ÈÕÖ¾À´×Ô΢ÈíISA: %s\n"
 +msgstr "��־���΢��ISA: %s\n"
  
  #: log.c:871
  #, c-format
  msgid "The name of the file is invalid: %s\n"
 -msgstr "ÎļþÃû²»´æÔÚ: %s\n"
 +msgstr "�ļ���������: %s\n"
  
  #: log.c:885
  #, fuzzy, c-format
  msgid "File name too long: %s/sarg_temp.log\n"
 -msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
 +msgstr "�ļ�������: %s/%s.ip\n"
  
  #: log.c:898
  #, c-format
  msgid "SARG: Records in file: %lu, reading: %3.2lf%%"
 -msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶Áȡ: %3.2lf%%"
 +msgstr "SARG: ��¼���ļ�: %lu, ��ȡ: %3.2lf%%"
  
  #: log.c:914
  #, c-format
  msgid "Maybe you have a broken record or garbage in your exclusion string\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¼Í¼»òÕßÀ¬»øÔÚÄãµÄ½ûÖ¹×Ö·û´®\n"
 +msgstr "��������һ���������ļ�¼������������Ľ�ֹ�ַ���\n"
  
  #: log.c:935
  #, c-format
  msgid "Maybe you have a broken time in your access.log file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄʱ¼äÔÚÄãµÄaccess.logÎļþ\n"
 +msgstr "��������һ����������ʱ��������access.log�ļ�\n"
  
  #: log.c:996 log.c:1000 log.c:1005 log.c:1009 log.c:1013 log.c:1118 log.c:1122
  #: log.c:1126 log.c:1194 useragent.c:89
  #, c-format
  msgid "Maybe you have a broken date in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ�������������������� %s �ļ���\n"
  
  #: log.c:1022 log.c:1133 log.c:1250
  #, fuzzy, c-format
  msgid "Invalid time found in %s\n"
 -msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
 +msgstr "��Ч��ʱ�����ļ��� %s\n"
  
  #: log.c:1040
  #, c-format
  msgid "Maybe you have a broken client IP address in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¿Í»§¶ËIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ���������Ŀͻ���IP��ַ������ %s �ļ���\n"
  
  #: log.c:1044
  #, c-format
  msgid "Maybe you have a broken result code in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ½á¹û´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ���������Ľ������������� %s �ļ���\n"
  
  #: log.c:1048
  #, c-format
  msgid "Maybe you have a broken amount of data in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÊý¾Ý×ܺÍÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ���������������ܺ������� %s �ļ���\n"
  
  #: log.c:1052
  #, c-format
  msgid "Maybe you have a broken request method in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÐèÇó·½·¨ÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ�������������󷽷������� %s �ļ���\n"
  
  #: log.c:1060 log.c:1188
  #, c-format
  msgid "Maybe you have a broken user ID in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÓû§IDÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ�����������û�ID������ %s �ļ���\n"
  
  #: log.c:1069
  #, c-format
  msgid "Cannot convert the timestamp from the squid log file\n"
 -msgstr "²»ÄÜת»»Ê±¼ä´Á´ÓsquidÈÕÖ¾Îļþ\n"
 +msgstr "����ת��ʱ�����squid��־�ļ�\n"
  
  #: log.c:1182
  #, c-format
  msgid "Maybe you have a broken IP in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ����������IP��ַ������ %s �ļ���\n"
  
  #: log.c:1206
  #, c-format
  msgid "Maybe you have a broken download duration in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔسÖÐøʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ�������������س���ʱ�������� %s �ļ���\n"
  
  #: log.c:1212
  #, c-format
  msgid "Maybe you have a broken download size in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔØ´óСÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ�������������ش�С������ %s �ļ���\n"
  
  #: log.c:1220
  #, c-format
  msgid "Maybe you have a broken access code in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ���������ķ��ʴ��������� %s �ļ���\n"
  
  #: log.c:1233
  #, c-format
  msgid "Maybe you have a broken year in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÄê·ÝÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ�������������������� %s �ļ���\n"
  
  #: log.c:1237
  #, c-format
  msgid "Maybe you have a broken month in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s ÎļþÖÐ\n"
 +msgstr "��������һ�����������·������� %s �ļ���\n"
  
  #: log.c:1257
  #, c-format
  msgid "Unknown input log file format\n"
 -msgstr "δ֪µÄÊäÈëÈÕÖ¾Îļþ¸ñʽ\n"
 +msgstr "δ֪��������־�ļ���ʽ\n"
  
  #: log.c:1282
  #, c-format
  msgid "User ID too long: %s\n"
 -msgstr "Óû§ID¹ý³¤: %s\n"
 +msgstr "�û�ID����: %s\n"
  
  #: log.c:1295
  #, c-format
  msgid "Excluded code: %s\n"
 -msgstr "ÒÑÅųý´úÂë: %s\n"
 +msgstr "���ų�����: %s\n"
  
  #: log.c:1355
  #, c-format
  msgid "Excluded site: %s\n"
 -msgstr "ÒÑÅųýÕ¾µã: %s\n"
 +msgstr "���ų�վ��: %s\n"
  
  #: log.c:1407
  #, c-format
  msgid "Excluded user: %s\n"
 -msgstr "ÒÑÅųýÓû§: %s\n"
 +msgstr "���ų��û�: %s\n"
  
  #: log.c:1441
  #, c-format
  msgid "Not enough memory to store the user %s\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n"
 +msgstr "û���㹻���ڴ���洢�û� %s\n"
  
  #: log.c:1469
  #, c-format
  msgid "Failed to close the log file of user %s - %s\n"
 -msgstr "¹Ø±ÕÓû§ÈÕÖ¾Îļþʧ°Ü %s - %s\n"
 +msgstr "�ر��û���־�ļ�ʧ�� %s - %s\n"
  
  #: log.c:1479
  #, fuzzy, c-format
 +<<<<<<< HEAD
 +msgid "Temporary user file name too long: %s/%s.unsort\n"
 +msgstr "��ʱ�û��ļ�������: %s/sarg/%s.unsort\n"
 +=======
  msgid "Temporary user file name too long: %s/%s.user_unsort\n"
--msgstr "ÁÙʱÓû§ÎļþÃû¹ý³¤: %s/sarg/%s.unsort\n"
++msgstr "��ʱ�û��ļ�������: %s/sarg/%s.unsort\n"
 +>>>>>>> origin/v2.3
  
  #: log.c:1483 log.c:1503
  #, c-format
  msgid "(log) Cannot open temporary file: %s - %s\n"
 -msgstr "(log) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s\n"
 +msgstr "(log) ���ܴ�����ʱ�ļ�: %s - %s\n"
  
  #: log.c:1489
  #, c-format
  msgid "Write error in the log file of user %s\n"
 -msgstr "ÈÕÖ¾ÎļþÖеÄÓû§´æÔÚдÈë´íÎó %s\n"
 +msgstr "��־�ļ��е��û�����д������ %s\n"
  
  #: log.c:1554
  #, c-format
  msgid "SARG: Records in file: %lu, reading: %3.2f%%\n"
 -msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, reading: %3.2f%%\n"
 +msgstr "SARG: ��¼���ļ�: %lu, reading: %3.2f%%\n"
  
  #: log.c:1560
  #, c-format
  msgid "   Records read: %ld, written: %ld, excluded: %ld\n"
 -msgstr "¼Í¼ ¶ÁÈ¡: %ld, ÒÑдÈë: %ld, Åųý: %ld\n"
 +msgstr "��¼ ��ȡ: %ld, ��д��: %ld, �ų�: %ld\n"
  
  #: log.c:1582
  #, c-format
  msgid "Log with mixed records format (squid and common log)\n"
 -msgstr "ÈÕÖ¾Óë¼Í¼»ìºÏ¸ñʽ(squid and common log)\n"
 +msgstr "��־����¼���ϸ�ʽ(squid and common log)\n"
  
  #: log.c:1585
  #, c-format
  msgid "Common log format\n"
 -msgstr "ÆÕͨÈÕÖ¾¸ñʽ\n"
 +msgstr "��ͨ��־��ʽ\n"
  
  #: log.c:1588
  #, c-format
  msgid "Squid log format\n"
 -msgstr "SquidÈÕÖ¾¸ñʽ\n"
 +msgstr "Squid��־��ʽ\n"
  
  #: log.c:1591
  #, c-format
  msgid "Sarg log format\n"
 -msgstr "SargÈÕÖ¾¸ñʽ\n"
 +msgstr "Sarg��־��ʽ\n"
  
  #: log.c:1594
  #, c-format
  msgid "Log with invalid format\n"
 -msgstr "²»´æÔÚµÄÈÕÖ¾¸ñʽ\n"
 +msgstr "�����ڵ���־��ʽ\n"
  
  #: log.c:1598
  #, c-format
  msgid "No records found\n"
 -msgstr "ûÓÐÕÒµ½¼Í¼\n"
 +msgstr "û���ҵ���¼\n"
  
  #: log.c:1599 log.c:1712
  #, c-format
  msgid "End\n"
 -msgstr "½áÊø\n"
 +msgstr "����\n"
  
  #: log.c:1613
  #, c-format
  msgid "Period covered by log files: %s-%s\n"
 -msgstr "Æڼ䱻ÈÕÖ¾Îļþ¸²¸Ç: %s - %s\n"
 +msgstr "�ڼ䱻��־�ļ�����: %s - %s\n"
  
  #: log.c:1617
  #, c-format
  msgid "Failed to build the string representation of the date range\n"
 -msgstr "½¨Á¢ÒÔ×Ö·û´®±íʾÈÕÆڵķ¶Î§Ê±Ê§°Ü\n"
 +msgstr "������ַ�����ʾ���ڵķ�Χʱʧ��\n"
  
  #: log.c:1622
  #, c-format
@@@ -1875,192 -1772,187 +1875,192 @@@ msgstr "
  #: log.c:1623
  #, fuzzy, c-format
  msgid "period=%s\n"
 -msgstr "ÆÚ¼ä: %s\n"
 +msgstr "�ڼ�: %s\n"
  
  #: log.c:1627
  #, c-format
  msgid "Period: %s\n"
 -msgstr "ÆÚ¼ä: %s\n"
 +msgstr "�ڼ�: %s\n"
  
  #: log.c:1644
  #, fuzzy, c-format
  msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n"
 -msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n"
 +msgstr "�ļ�������: %s/%s%s\n"
  
  #: log.c:1648
  #, c-format
  msgid "failed to rename %s to %s - %s\n"
 -msgstr "ÖØÃüÃûʧ°Ü %s ÖÁ %s - %s\n"
 +msgstr "������ʧ�� %s �� %s - %s\n"
  
  #: log.c:1658
  #, fuzzy, c-format
  msgid "Command too long: %s \"%s\"\n"
 -msgstr "·¾¶¹ý³¤ %s/%s.ip\n"
 +msgstr "·������ %s/%s.ip\n"
  
  #: log.c:1670
  #, c-format
  msgid "Sarg parsed log saved as %s\n"
 -msgstr "Sarg½âÎöÈÕÖ¾Áí´æΪ %s\n"
 +msgstr "Sarg������־����Ϊ %s\n"
  
  #: log.c:1726
  #, c-format
  msgid "Loading password file from %s\n"
 -msgstr "¼ÓÔØÃÜÂë´ÓÎļþ %s\n"
 +msgstr "�����������ļ� %s\n"
  
  #: log.c:1729
  #, c-format
  msgid "(getusers) Cannot open file %s - %s\n"
 -msgstr "(getusers) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
 +msgstr "(getusers) ���ܴ����ļ� %s - %s\n"
  
  #: log.c:1734
  #, c-format
  msgid "Failed to move till the end of the users file %s: %s\n"
 -msgstr "Òƶ¯Óû§ÎļþÖÁĩβʱʧ°Ü%s: %s\n"
 +msgstr "�ƶ��û��ļ���ĩβʱʧ��%s: %s\n"
  
  #: log.c:1744
  #, c-format
  msgid "Failed to rewind the users file %s: %s\n"
 -msgstr "ת´æÓû§Îļþʱʧ°Ü %s: %s\n"
 +msgstr "ת���û��ļ�ʱʧ�� %s: %s\n"
  
  #: log.c:1749 util.c:1424
  #, c-format
  msgid "malloc error (%ld)\n"
 -msgstr "ÄÚ´æ·ÖÒ³´íÎó (%ld)\n"
 +msgstr "�ڴ���ҳ���� (%ld)\n"
  
  #: log.c:1759
  #, c-format
  msgid "You have an invalid user in your %s file\n"
 -msgstr "ÓÐÒ»¸ö²»´æÔÚµÄÓû§ÔÚÄãµÄ %s Îļþ\n"
 +msgstr "��һ����ڵ��û������� %s �ļ�\n"
  
  #: longline.c:136
  #, c-format
 +<<<<<<< HEAD
 +msgid "Not enough memory to read one more line from the input log file\n"
 +msgstr "û���㹻���ڴ��ٶ�ȡ������־�ļ�\n"
 +=======
  msgid "A text line is more than %d bytes long denoting a corrupted file\n"
  msgstr ""
  
  #: longline.c:141 longline.c:154
  #, fuzzy, c-format
  msgid "Not enough memory to read one more line from the file\n"
--msgstr "ûÓÐ×ã¹»µÄÄÚ´æÔÙ¶ÁÈ¡ÊäÈëÈÕÖ¾Îļþ\n"
++msgstr "û���㹻���ڴ��ٶ�ȡ������־�ļ�\n"
 +>>>>>>> origin/v2.3
  
  #: 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"
 +msgstr "�޷�ɾ����ʱ�ļ� %s - %s\n"
  
  #: realtime.c:71
  #, c-format
  msgid "(realtime) mkstemp error - %s\n"
 -msgstr "(realtime)mkstemp ´íÎó - %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"
 +msgstr "û���㹻���ڴ����ȡ��־�ļ�\n"
  
  #: realtime.c:83
  #, fuzzy, c-format
  msgid "Failed to get the %d trailing lines of %s: %s\n"
 -msgstr "»ñÈ¡Îļþ´´½¨Ê±¼äʱʧ°Ü %s\n"
 +msgstr "��ȡ�ļ�����ʱ��ʱʧ�� %s\n"
  
  #: realtime.c:84
  #, fuzzy, c-format
  msgid "tail command: %s\n"
 -msgstr "ÃüÁî: %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"
 +msgstr "�����в������ļ�¼����������ش� %s\n"
  
  #: realtime.c:126
  #, c-format
  msgid "The time stamp at column 1 is too long\n"
 -msgstr "ʱ¼ä´ÁÔÚÁÐ1Ì«³¤\n"
 +msgstr "ʱ��������1̫��\n"
  
  #: realtime.c:130
  #, fuzzy, c-format
  msgid "The time stamp decimal part at column 1 is too long\n"
 -msgstr "ʱ¼ä´ÁÔÚÁÐ1Ì«³¤\n"
 +msgstr "ʱ��������1̫��\n"
  
  #: realtime.c:134
  #, c-format
  msgid "The connection duration at column 2 is too long\n"
 -msgstr "Á¬½Ó³ÖÐøʱ¼äÔÚÁÐ2¹ý³¤\n"
 +msgstr "��ӳ���ʱ������2����\n"
  
  #: realtime.c:142
  #, c-format
  msgid "The IP address at column 3 is too long\n"
 -msgstr "ÔÚÁÐ3µÄIPµØÖ·¹ý³¤\n"
 +msgstr "����3��IP��ַ����\n"
  
  #: realtime.c:146
  #, c-format
  msgid "The status at column 4 is too long\n"
 -msgstr "ÔÚÁÐ4µÄ״̬̫³¤\n"
 +msgstr "����4��״̬̫��\n"
  
  #: realtime.c:150
  #, c-format
  msgid "The size at column 5 is too long\n"
 -msgstr "ÁÐ5µÄ´óС¹ý³¤\n"
 +msgstr "��5�Ĵ�С����\n"
  
  #: realtime.c:154
  #, c-format
  msgid "The action at column 6 is too long\n"
 -msgstr "ÁÐ6µÄ×÷Óùý³¤\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"
 +msgstr "��7����ӹ���\n"
  
  #: realtime.c:163
  #, c-format
  msgid "The user ID at column 8 is too long\n"
 -msgstr "ÁÐ8µÄÓû§ID¹ý³¤\n"
 +msgstr "��8���û�ID����\n"
  
  #: realtime.c:180
  #, c-format
  msgid "The data at column 8 is too long\n"
 -msgstr "ÁÐ8µÄÊý¾Ý¹ý³¤\n"
 +msgstr "��8�����ݹ���\n"
  
  #: realtime.c:184
  #, c-format
  msgid "The user at column 9 is too long\n"
 -msgstr "ÁÐ9µÄÓû§¹ý³¤\n"
 +msgstr "��9���û�����\n"
  
  #: realtime.c:217
  #, c-format
  msgid "(realtime) open error %s - %s\n"
 -msgstr "(realtime)´ò¿ª´íÎó %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"
 +msgstr "��Ч��ʱ�����ļ��� %s\n"
  
  #: realtime.c:236 redirector.c:495
  #, fuzzy, c-format
  msgid "Invalid IP address in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: realtime.c:240
  #, fuzzy, c-format
  msgid "Invalid user name in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n"
 +msgstr "���ļ��д�����Ч���� %s\n"
  
  #: realtime.c:245 redirector.c:161 redirector.c:499
  #, fuzzy, c-format
  msgid "Invalid URL in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: realtime.c:249
  #, fuzzy, c-format
  msgid "Invalid access type in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: realtime.c:312
  msgid "Realtime"
@@@ -2068,11 -1960,11 +2068,11 @@@ msgstr "ʱʵ
  
  #: realtime.c:313
  msgid "Auto refresh"
 -msgstr "×Ô¶¯Ë¢ÐÂ"
 +msgstr "�Զ�ˢ��"
  
  #: realtime.c:314
  msgid "TYPE"
 -msgstr "ÀàÐÍ"
 +msgstr "����"
  
  #: redirector.c:58
  #, c-format
@@@ -2098,85 -1990,85 +2098,85 @@@ msgstr "
  #: redirector.c:81
  #, fuzzy, c-format
  msgid "Parsing of tag \"%s\" in redirector log %s returned no result\n"
 -msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐÄê·Ý×Ö·û´®Ì«³¤ %s\n"
 +msgstr "���ض�����־�ļ��������ַ���̫�� %s\n"
  
  #: redirector.c:93
  #, c-format
  msgid "Hour string too long in redirector log file %s\n"
 -msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐСʱ×Ö·û´®Ì«³¤ %s\n"
 +msgstr "���ض�����־�ļ���Сʱ�ַ���̫�� %s\n"
  
  #: redirector.c:100
  #, fuzzy, c-format
  msgid "Banning source name too long in redirector log file %s\n"
 -msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐ×èÖ¹ÁбíÃû¹ý³¤ %s\n"
 +msgstr "���ض�����־�ļ�����ֹ�б������� %s\n"
  
  #: redirector.c:107
  #, c-format
  msgid "Banning list name too long in redirector log file %s\n"
 -msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐ×èÖ¹ÁбíÃû¹ý³¤ %s\n"
 +msgstr "���ض�����־�ļ�����ֹ�б������� %s\n"
  
  #: redirector.c:114
  #, c-format
  msgid "IP address too long in redirector log file %s\n"
 -msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐIPµØÖ·¹ý³¤ %s\n"
 +msgstr "���ض�����־�ļ���IP��ַ���� %s\n"
  
  #: redirector.c:121
  #, c-format
  msgid "User ID too long in redirector log file %s\n"
 -msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐÓû§Ãû¹ý³¤ %s\n"
 +msgstr "���ض�����־�ļ����û������� %s\n"
  
  #: redirector.c:138 splitlog.c:95
  #, fuzzy, c-format
  msgid "Invalid date found in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: redirector.c:146
  #, fuzzy, c-format
  msgid "Invalid time found in file %s\n"
 -msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
 +msgstr "��Ч��ʱ�����ļ��� %s\n"
  
  #: redirector.c:151
  #, fuzzy, c-format
  msgid "Invalid redirected source in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: redirector.c:156
  #, fuzzy, c-format
  msgid "Invalid redirected list in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: redirector.c:166
  #, fuzzy, c-format
  msgid "Invalid source IP in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: redirector.c:171 redirector.c:483
  #, fuzzy, c-format
  msgid "Invalid user in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n"
 +msgstr "���ļ��д�����Ч���� %s\n"
  
  #: redirector.c:228
  #, c-format
  msgid "Reading redirector log file %s\n"
 -msgstr "¶ÁÈ¡Öض¨ÏòÈÕÖ¾Îļþ %s\n"
 +msgstr "��ȡ�ض�����־�ļ� %s\n"
  
  #: redirector.c:255 redirector.c:260
  #, c-format
  msgid ""
  "Not enough memory to store the name of the new redirector log to be read - "
  "%s\n"
 -msgstr "¶ÁȡеÄÖض¨ÏòÈÕÖ¾ÎļþÃûʱûÓеÄ×ã¹»µÄÄÚ´æ - %s\n"
 +msgstr "��ȡ�µ��ض�����־�ļ���ʱû�е��㹻���ڴ� - %s\n"
  
  #: redirector.c:265 redirector.c:309 redirector.c:326 redirector.c:456
  #: redirector.c:461
  #, c-format
  msgid "(squidguard) Cannot open log file %s\n"
 -msgstr "(squidguard) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 +msgstr "(squidguard) ���ܴ�����־�ļ� %s\n"
  
  #: redirector.c:270
  #, fuzzy, c-format
  msgid "Not enough memory to read the redirector log\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Îļþ %s\n"
 +msgstr "û���㹻���ڴ�ȥ��ȡ�ļ� %s\n"
  
  #: redirector.c:302
  msgid "No redirector logs provided to produce that kind of report\n"
@@@ -2185,7 -2077,7 +2185,7 @@@ msgstr "
  #: redirector.c:321
  #, c-format
  msgid "Cannot open squidGuard config file: %s\n"
 -msgstr "²»ÄÜ´ò¿ªsauidGuard ÅäÖÃÎļþ: %s\n"
 +msgstr "���ܴ���sauidGuard �����ļ�: %s\n"
  
  #: redirector.c:412
  #, c-format
@@@ -2200,25 -2092,25 +2200,25 @@@ msgstr "
  #: redirector.c:466
  #, fuzzy, c-format
  msgid "Not enough memory to read the processed redirector log\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n"
 +msgstr "û���㹻���ڴ����ȡ��־�ļ�\n"
  
  #: redirector.c:470 redirector.c:474
  msgid "Redirector report"
 -msgstr "Öض¨Ïò±¨¸æ"
 +msgstr "�ض��򱨸�"
  
  #: redirector.c:478
  msgid "RULE"
 -msgstr "¹æÔò"
 +msgstr "����"
  
  #: redirector.c:491 repday.c:97
  #, c-format
  msgid "Invalid time in file %s\n"
 -msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖР%s\n"
 +msgstr "��Ч��ʱ�����ļ��� %s\n"
  
  #: redirector.c:503
  #, fuzzy, c-format
  msgid "Invalid rule in file %s\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: redirector.c:569
  #, c-format
@@@ -2229,38 -2121,40 +2229,40 @@@ 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"
 +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"
 +msgstr "(repday) ���ܴ����ļ� %s\n"
  
  #: repday.c:90
  #, c-format
  msgid "Too many different dates in %s\n"
 -msgstr "²»Í¬µÄÈÕÆÚÔÚ %s\n"
 +msgstr "��ͬ�������� %s\n"
  
  #: repday.c:126
  msgid "Day report"
 -msgstr "ÈÕ±¨"
 +msgstr "�ձ�"
  
- #: repday.c:144 repday.c:194
- msgid "H"
- msgstr "H"
+ #. TRANSLATORS: It is an hour in the hourly report
+ #: repday.c:145 repday.c:197
+ #, c-format
+ msgid "%02dH"
+ msgstr ""
  
- #: repday.c:182
+ #: repday.c:185
  #, c-format
  msgid ""
  "Total downloaded bytes is %<PRIi64> instead of %<PRIi64> in the hourly "
  "report of user %s\n"
  msgstr ""
  
- #: repday.c:190
+ #: repday.c:193
  msgid "H:M:S"
  msgstr "H:M:S"
  
- #: repday.c:232
+ #: repday.c:237
  #, c-format
  msgid ""
  "Total elapsed time is %<PRIi64> instead of %<PRIi64> in the hourly report of "
@@@ -2272,7 -2166,7 +2274,7 @@@ msgstr "
  msgid ""
  "Cannot create the output directory name containing the period as part of the "
  "name\n"
 -msgstr "²»ÄÜ´´½¨Êä³öÎļþ¼ÐÃû°üº¬ÆÚ¼äµÄ²¿·ÖÃû³Æ\n"
 +msgstr "���ܴ��������ļ����������ڼ��IJ�������\n"
  
  #: report.c:93
  #, c-format
@@@ -2283,36 -2177,31 +2285,36 @@@ msgstr "
  #: report.c:752
  #, c-format
  msgid "(report) Cannot open file %s\n"
 -msgstr "(report) ²»ÄÜ´ò¿ªÎļþ %s\n"
 +msgstr "(report) ���ܴ����ļ� %s\n"
  
  #: report.c:120
  #, fuzzy, c-format
 +<<<<<<< HEAD
 +msgid "(report) directory entry too long: %s/%s.log\n"
 +msgstr "(report) �ļ��й��� %s/%s\n"
 +=======
  msgid "(report) directory entry too long: %s/%s.user_log\n"
--msgstr "(report) Îļþ¼Ð¹ý³¤ %s/%s\n"
++msgstr "(report) �ļ��й��� %s/%s\n"
 +>>>>>>> origin/v2.3
  
  #: report.c:175
  #, c-format
  msgid "There is a broken smart info in file %s\n"
 -msgstr "Óв»ÍêÕûµÄÖÇÄÜÐÅÏ¢ÔÚÎļþ %s\n"
 +msgstr "�в�������������Ϣ���ļ� %s\n"
  
  #: report.c:257
  msgid "Site access report"
 -msgstr "վµã·ÃÎʱ¨¸æ"
 +msgstr "վ�����ʱ���"
  
  #: report.c:267
  #, fuzzy
  msgid "DATE"
 -msgstr "ÈÕÆÚ/ʱ¼ä"
 +msgstr "����/ʱ��"
  
  #: report.c:331
  #, fuzzy, c-format
  msgid "Failed to close temporary file for user %s - %s\n"
 -msgstr "¹Ø±ÕÓû§ÈÕÖ¾Îļþʧ°Ü %s - %s\n"
 +msgstr "�ر��û���־�ļ�ʧ�� %s - %s\n"
  
  #: report.c:350
  msgid ""
@@@ -2347,117 -2236,117 +2349,117 @@@ msgstr "
  #: report.c:398
  #, c-format
  msgid "Successful report generated on %s\n"
 -msgstr "³É¹¦µÄÉú³É±¨¸æÔÚ %s\n"
 +msgstr "�ɹ������ɱ����� %s\n"
  
  #: report.c:403
  #, c-format
  msgid "Successful report generated and sent to %s\n"
 -msgstr "³É¹¦µÄ±¨¸æÉú³É²¢·¢ËÍÖÁ %s\n"
 +msgstr "�ɹ��ı������ɲ������� %s\n"
  
  #: report.c:420
  #, c-format
  msgid "Making file: %s/%s\n"
 -msgstr "Éú³ÉÎļþ: %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"
 +msgstr "��ʱ�ļ�������: %s/%s.utmp\n"
  
  #: report.c:463
  #, c-format
  msgid "Path too long %s/%s.ip\n"
 -msgstr "·¾¶¹ý³¤ %s/%s.ip\n"
 +msgstr "·������ %s/%s.ip\n"
  
  #: report.c:491
  #, fuzzy, c-format
  msgid "Failed to write a line in %s\n"
 -msgstr "дÈëµÚÒ»ÐÐʱʧ°Ü %s\n"
 +msgstr "д����һ��ʱʧ�� %s\n"
  
  #: report.c:513
  #, c-format
  msgid "Failed to write the total line in %s\n"
 -msgstr "дÈëµÚÒ»ÐÐʱʧ°Ü %s\n"
 +msgstr "д����һ��ʱʧ�� %s\n"
  
  #: report.c:539
  #, c-format
  msgid "Invalid total number of accesses in %s\n"
 -msgstr "²»´æÔڵķÃÎÊ×ÜÊýÔÚ %s\n"
 +msgstr "�����ڵķ��������� %s\n"
  
  #: report.c:556
  #, c-format
  msgid "Invalid total size in %s\n"
 -msgstr "²»´æÔÚµÄ×Ü´óСÔÚ %s\n"
 +msgstr "�����ڵ��ܴ�С�� %s\n"
  
  #: report.c:573
  #, c-format
  msgid "Invalid total elapsed time in %s\n"
 -msgstr "²»´æÔÚ×ܵĹýȥʱ¼äÔÚ %s\n"
 +msgstr "�������ܵĹ�ȥʱ���� %s\n"
  
  #: report.c:590
  #, c-format
  msgid "Invalid total cache hit in %s\n"
 -msgstr "²»´æÔڵĻº´æÃüÖÐ×ÜÊý %s\n"
 +msgstr "�����ڵĻ����������� %s\n"
  
  #: report.c:607
  #, c-format
  msgid "Invalid total cache miss in %s\n"
 -msgstr "²»´æÔڵĻº´æδÃüÖÐ×ÜÊý %s\n"
 +msgstr "�����ڵĻ���δ�������� %s\n"
  
  #: report.c:617
  #, c-format
  msgid "User name too long or invalid in %s\n"
 -msgstr "Óû§Ãû¹ý³¤»òÕß²»´æÔÚ %s\n"
 +msgstr "�û����������߲����� %s\n"
  
  #: report.c:633
  #, c-format
  msgid "Invalid number of accesses in %s\n"
 -msgstr "²»´æÔڵķÃÎÊÊý %s\n"
 +msgstr "�����ڵķ����� %s\n"
  
  #: report.c:650
  #, c-format
  msgid "Invalid number of bytes in %s\n"
 -msgstr "²»´æÔÚ×Ö½ÚÊýz %s\n"
 +msgstr "�������ֽ���z %s\n"
  
  #: report.c:659
  #, c-format
  msgid "URL too long or invalid in %s\n"
 -msgstr "Á¬½Ó¹ý³¤»ò²»´æÔÚ %s\n"
 +msgstr "��ӹ����򲻴��� %s\n"
  
  #: report.c:667
  #, c-format
  msgid "IP address too long or invalid in %s\n"
 -msgstr "IPµØÖ·¹ý³¤»ò²»´æÔÚ %s\n"
 +msgstr "IP��ַ�����򲻴��� %s\n"
  
  #: report.c:675
  #, c-format
  msgid "Time too long or invalid in %s\n"
 -msgstr "ʱ¼ä¹ý³¤»ò²»´æÔÚ %s\n"
 +msgstr "ʱ�������򲻴��� %s\n"
  
  #: report.c:683
  #, c-format
  msgid "Date too long or invalid in %s\n"
 -msgstr "ÈÕÆÚ¹ý³¤»ò²»´æÔÚz %s\n"
 +msgstr "���ڹ����򲻴���z %s\n"
  
  #: report.c:699
  #, c-format
  msgid "Invalid elapsed time in %s\n"
 -msgstr "²»´æÔڵĵĹýȥʱ¼äÔÚ %s\n"
 +msgstr "�����ڵĵĹ�ȥʱ���� %s\n"
  
  #: report.c:716
  #, c-format
  msgid "Invalid cache hit size in %s\n"
 -msgstr "²»´æÔڵĻº´æÃüÖдóСÔÚ %s\n"
 +msgstr "�����ڵĻ������д�С�� %s\n"
  
  #: report.c:733
  #, c-format
  msgid "Invalid cache miss size in %s\n"
 -msgstr "²»´æÔÚ»º´æδÃüÖдóСÔÚ %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"
++msgstr "�ļ�������: %s/%s%s\n"
  
  #: siteuser.c:52
  msgid "Sites and users report not generated because privacy option is on\n"
@@@ -2466,50 -2355,45 +2468,50 @@@ msgstr "
  #: siteuser.c:74 siteuser.c:80
  #, c-format
  msgid "(siteuser) Cannot open log file %s\n"
 -msgstr "(siteuser) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 +msgstr "(siteuser) ���ܴ�����־�ļ� %s\n"
  
  #: siteuser.c:84 siteuser.c:88 topuser.c:236
  msgid "Sites & Users"
 -msgstr "վµã & Óû§"
 +msgstr "վ�� & �û�"
  
  #: smartfilter.c:57
  #, fuzzy, c-format
  msgid "File name too long: %s/smartfilter.int_unsort\n"
 -msgstr "ÎļþÃû¹ý³¤: %s/%s%s\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"
 +msgstr "�ļ�������: %s/%s%s\n"
  
  #: smartfilter.c:65
  #, fuzzy, c-format
 +<<<<<<< HEAD
 +msgid "File name too long: %s/smartfilter.log\n"
 +msgstr "�ļ�������: %s/%s.ip\n"
 +=======
  msgid "File name too long: %s/smartfilter.int_log\n"
--msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n"
++msgstr "�ļ�������: %s/%s.ip\n"
 +>>>>>>> origin/v2.3
  
  #: smartfilter.c:69
  #, fuzzy, c-format
  msgid "File name too long: %s/smartfilter.html\n"
 -msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n"
 +msgstr "�ļ�������: %s/%s/denied_%s.html\n"
  
  #: smartfilter.c:74
  #, c-format
  msgid "cannot build the sort command to sort file %s\n"
 -msgstr "²»Äܹ¹½¨ÅÅÐòÃüÁîÀ´ÅÅÐòÎļþ %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"
 +msgstr "(smartfilter)���ܴ�����־�ļ� %s\n"
  
  #: smartfilter.c:109 topuser.c:242
  msgid "SmartFilter"
--msgstr "ÖÇÄܹýÂË"
++msgstr "���ܹ���"
  
  #: smartfilter.c:116 smartfilter.c:183
  msgid "SMARTFILTER"
@@@ -2517,7 -2401,7 +2519,7 @@@ msgstr "
  
  #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617
  msgid "Generated by"
 -msgstr "ÓÉ Éú³É"
 +msgstr "�� ����"
  
  #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617
  msgid "on"
@@@ -2526,53 -2410,32 +2528,53 @@@ msgstr "on
  #: smartfilter.c:146
  #, c-format
  msgid "(smartfilter) Cannot open file %s\n"
 -msgstr "(smartfilter) ²»ÄÜ´ò¿ªÎļþ %s\n"
 +msgstr "(smartfilter) ���ܴ����ļ� %s\n"
  
  #: sort.c:66
  #, fuzzy, c-format
 +<<<<<<< HEAD
 +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"
 +
 +#: sort.c:118
 +#, fuzzy, c-format
 +msgid "Sorting log %s/%s.unsort\n"
 +msgstr "�û������� %s/%s.unsort\n"
 +=======
  msgid "File name too long: %s/%s.utmp\n"
--msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\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"
++msgstr "���������ƹ���: %s/%s\n"
  
  #: sort.c:118
  #, fuzzy, c-format
  msgid "Sorting log %s/%s.user_unsort\n"
--msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n"
++msgstr "�û������� %s/%s.unsort\n"
 +>>>>>>> origin/v2.3
  
  #: sort.c:125
  #, c-format
  msgid "user name too long to sort %s\n"
 -msgstr "Óû§Ãû¹ý³¤ÎÞ·¨ÅÅÐò %s\n"
 +msgstr "�û��������޷����� %s\n"
  
  #: sort.c:135
 +<<<<<<< HEAD
 +#, c-format
 +msgid "user name too long for %s/%s.unsort\n"
 +msgstr "�û������� %s/%s.unsort\n"
 +=======
  #, fuzzy, c-format
  msgid "user name too long for %s/%s.user_unsort\n"
--msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n"
++msgstr "�û������� %s/%s.unsort\n"
 +>>>>>>> origin/v2.3
  
  #: sort.c:156 topuser.c:171
  msgid "connect"
@@@ -2581,7 -2444,7 +2583,7 @@@ msgstr "
  #: sort.c:158
  #, fuzzy
  msgid "site"
 -msgstr "ÈÈÃÅÕ¾µã"
 +msgstr "����վ��"
  
  #: sort.c:160 topuser.c:174
  #, fuzzy
@@@ -2608,12 -2471,12 +2610,12 @@@ msgstr "
  #: splitlog.c:82
  #, fuzzy, c-format
  msgid "(splitlog) Cannot open log file %s - %s\n"
 -msgstr "(splitlog) ÎÞ·¨´ò¿ªÈÕÖ¾Îļþ %s\n"
 +msgstr "(splitlog) �޷�������־�ļ� %s\n"
  
  #: splitlog.c:122
  #, fuzzy, c-format
  msgid "(splitlog) Cannot open output log file %s - %s\n"
 -msgstr "(splitlog) ÎÞ·¨´ò¿ªÈÕÖ¾Îļþ %s\n"
 +msgstr "(splitlog) �޷�������־�ļ� %s\n"
  
  #: topsites.c:72
  msgid "Top sites report not produced because privacy option is on\n"
@@@ -2622,7 -2485,7 +2624,7 @@@ msgstr "
  #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228
  #, c-format
  msgid "(topsites) Cannot open log file %s\n"
 -msgstr "(topsites) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 +msgstr "(topsites) ���ܴ�����־�ļ� %s\n"
  
  #: topsites.c:179
  #, c-format
@@@ -2631,32 -2494,32 +2633,32 @@@ msgstr "
  
  #: topsites.c:232 topuser.c:235
  msgid "Top sites"
 -msgstr "ÈÈÃÅÕ¾µã"
 +msgstr "����վ��"
  
  #: topsites.c:237
  #, c-format
  msgid "Top %d sites"
 -msgstr "ÈÈÃÅ %d Õ¾µã"
 +msgstr "���� %d վ��"
  
  #: topsites.c:280
  #, fuzzy, c-format
  msgid "The number of users is invalid in file %s\n"
--msgstr "Õâ¸öÁ¬½Ó²»´æÔÚÔÚÎļþ %s\n"
++msgstr "������Ӳ��������ļ� %s\n"
  
  #: topsites.c:284
  #, c-format
  msgid "The url is invalid in file %s\n"
 -msgstr "Õâ¸öÁ¬½Ó²»´æÔÚÔÚÎļþ %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"
 +msgstr "(topuser) ���ܴ����ļ� %s\n"
  
  #: topuser.c:101 util.c:748
  #, c-format
  msgid "Not enough memory to read the file %s\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Îļþ %s\n"
 +msgstr "û���㹻���ڴ�ȥ��ȡ�ļ� %s\n"
  
  #: topuser.c:159
  #, c-format
@@@ -2666,12 -2529,12 +2668,12 @@@ msgstr "
  #: topuser.c:168
  #, fuzzy
  msgid "user"
 -msgstr "Óû§"
 +msgstr "�û�"
  
  #: topuser.c:215
  #, c-format
  msgid "SARG report for %s"
 -msgstr "SARG ±¨¸æ %s"
 +msgstr "SARG ���� %s"
  
  #: topuser.c:222
  #, c-format
@@@ -2680,7 -2543,7 +2682,7 @@@ msgstr "
  
  #: topuser.c:224
  msgid "Top users"
 -msgstr "ÈÈÃÅÓû§"
 +msgstr "�����û�"
  
  #. TRANSLATORS: This is the title of the main report page when no
  #. * top users list are requested.
@@@ -2691,15 -2554,15 +2693,15 @@@ msgstr "
  
  #: topuser.c:238
  msgid "Redirector"
 -msgstr "Öض¨Ïò"
 +msgstr "�ض���"
  
  #: topuser.c:240
  msgid "Denied accesses"
 -msgstr "×èÖ¹·ÃÎÊ"
 +msgstr "��ֹ����"
  
  #: topuser.c:243
  msgid "Useragent"
 -msgstr "Óû§´úÀí"
 +msgstr "�û�����"
  
  #: topuser.c:250
  msgid "No top users report because it is not configured in report_type\n"
@@@ -2708,26 -2571,26 +2710,26 @@@ msgstr "
  #: topuser.c:300
  #, c-format
  msgid "There is a broken user in file %s\n"
 -msgstr "Óв»ÍêÕûµÄÓû§ÔÚÎļþ %s\n"
 +msgstr "�в��������û����ļ� %s\n"
  
  #: topuser.c:312
  #, c-format
  msgid "There is a broken elpased time in file %s\n"
 -msgstr "Óв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÎļþ %s\n"
 +msgstr "�в������Ĺ�ȥʱ�����ļ� %s\n"
  
  #: topuser.c:316
  #, c-format
  msgid "There is a broken in-cache size in file %s\n"
 -msgstr "Óв»ÍêÕûµÄ in-cache ´óСÔÚÎļþ %s\n"
 +msgstr "�в������� in-cache ��С���ļ� %s\n"
  
  #: topuser.c:320
  #, c-format
  msgid "There is a broken out-of-cache size in file %s\n"
 -msgstr "Óв»ÍêÕûµÄ out-of-cache ´óСÔÚÎļþ %s\n"
 +msgstr "�в������� out-of-cache ��С���ļ� %s\n"
  
  #: topuser.c:352
  msgid "Graphic"
 -msgstr "ÊÓͼ"
 +msgstr "��ͼ"
  
  #: topuser.c:390
  #, c-format
@@@ -2744,17 -2607,17 +2746,17 @@@ msgstr "
  #: topuser.c:481
  #, c-format
  msgid "Write error in top user list %s\n"
 -msgstr "дÈë´íÎóÔÚÈÈÃÅÓû§Áбí %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"
 +msgstr "�رջ�Ծ�û��б�ʱʧ�� %s - %s\n"
  
  #: totday.c:53
  #, fuzzy, c-format
  msgid "Not enough memory to store the daily statistics\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥´æ´¢Á¬½Ó\n"
 +msgstr "û���㹻���ڴ�ȥ�洢���\n"
  
  #: totday.c:104
  #, c-format
@@@ -2774,22 -2637,22 +2776,22 @@@ msgstr "
  #: totday.c:121
  #, fuzzy, c-format
  msgid "Too many different dates for the hourly statistics\n"
 -msgstr "²»Í¬µÄÈÕÆÚÔÚ %s\n"
 +msgstr "��ͬ�������� %s\n"
  
  #: totday.c:153
  #, c-format
  msgid "File name too long: %s/%s%s\n"
 -msgstr "ÎļþÃû¹ý³¤: %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"
 +msgstr "(today) ���ܴ�����־�ļ� %s\n"
  
  #: totday.c:166
  #, fuzzy, c-format
  msgid "Invalid day index found in the hourly statistics\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: url.c:152
  #, c-format
@@@ -2805,12 -2668,12 +2807,12 @@@ msgstr "
  #: url.c:341 url.c:404 url.c:413 url.c:423 url.c:487 url.c:500
  #, fuzzy, c-format
  msgid "Not enough memory to store the host name aliasing directives\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢ÎļþÃûÔÚ \"%s\" ÔÚË÷ÒýÖÐ\n"
 +msgstr "û���㹻���ڴ���洢�ļ����� \"%s\" ��������\n"
  
  #: url.c:467
  #, fuzzy, c-format
  msgid "Invalid NUL character found in regular expression\n"
 -msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n"
 +msgstr "���ļ��д�����Ч������ %s\n"
  
  #: url.c:474
  #, c-format
@@@ -2820,7 -2683,7 +2822,7 @@@ msgstr "
  #: url.c:493
  #, fuzzy, c-format
  msgid "Failed to compile the regular expression \"%s\": %s\n"
 -msgstr "ת´æÓû§Îļþʱʧ°Ü %s: %s\n"
 +msgstr "ת���û��ļ�ʱʧ�� %s: %s\n"
  
  #: url.c:551
  #, c-format
@@@ -2832,17 -2695,17 +2834,17 @@@ msgstr "
  #: url.c:582
  #, fuzzy, c-format
  msgid "Reading host alias file \"%s\"\n"
 -msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s\n"
 +msgstr "��ȡ������־�ļ�: %s\n"
  
  #: url.c:585
  #, fuzzy, c-format
  msgid "Cannot read host name alias file \"%s\" - %s\n"
 -msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n"
 +msgstr "�޷�ɾ����ʱ�ļ� %s - %s\n"
  
  #: url.c:590
  #, fuzzy, c-format
  msgid "Not enough memory to read the host name aliases\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ\n"
 +msgstr "û���㹻���ڴ����ȡ�����ļ�\n"
  
  #: url.c:609
  #, c-format
@@@ -2857,7 -2720,7 +2859,7 @@@ msgstr "
  #: url.c:614
  #, fuzzy, c-format
  msgid "  %s => %s\n"
 -msgstr "´´½¨Ŀ¼ %s %s\n"
 +msgstr "����Ŀ¼ %s %s\n"
  
  #: url.c:616
  #, c-format
@@@ -2877,17 -2740,12 +2879,17 @@@ msgstr "
  #: usage.c:32
  #, c-format
  msgid "Usage: %s [options...]\n"
 -msgstr "ʹÓÃ: %s [Ñ¡Ïî...]\n"
 +msgstr "ʹ��: %s [ѡ��...]\n"
  
  #: usage.c:33
  #, fuzzy
- msgid "     -a NAME|IP    Create report for host name or IP address"
- msgstr "     -a Ö÷»úÃû»òÕßIPµØÖ·"
 +<<<<<<< HEAD
 +msgid "     -a NAME|IP  Create report for host name or IP address"
 +msgstr "     -a ����������IP��ַ"
 +=======
 -msgstr "     -a Ö÷»úÃû»òÕßIPµØÖ·"
+ msgid "     -a NAME|IP     Create report for host name or IP address"
++msgstr "     -a ����������IP��ַ"
 +>>>>>>> origin/v2.3
  
  #: usage.c:35
  msgid "     -c FILE        Exclude connected hosts from the report"
@@@ -2895,13 -2753,8 +2897,13 @@@ msgstr "
  
  #: usage.c:36
  #, fuzzy
 +<<<<<<< HEAD
 +msgid "     --convert   Convert the access.log file to a legible date"
 +msgstr "     -convert ת�� access.log �ļ���һ���׶�������"
 +=======
  msgid "     --convert      Convert the access.log file to a legible date"
--msgstr "     -convert ×ª»» access.log Îļþµ½Ò»¸öÒ׶®µÄÈÕÆÚ"
++msgstr "     -convert ת�� access.log �ļ���һ���׶�������"
 +>>>>>>> origin/v2.3
  
  #: usage.c:37
  msgid "     --css          Output the internal CSS"
@@@ -2910,77 -2763,41 +2912,77 @@@ msgstr "
  #: usage.c:38
  #, fuzzy
  msgid ""
 +<<<<<<< HEAD
 +"     -d DATE     Date range to include in the report: from-until dd/mm/yyyy-"
 +"dd/mm/yyyy"
 +msgstr "     -d ���ڴӣ��� dd/mm/yyyy-dd/mm/yyyy"
 +
 +#: usage.c:39
 +#, fuzzy
 +msgid "     -e MAIL     Email address to send reports to (stdout for console)"
 +msgstr "     -e �ʼ���ַ���ͱ��� (stdout for console)"
 +
 +#: usage.c:40
 +#, fuzzy, c-format
 +msgid "     -f FILE     Config file to read (default is %s/sarg.conf)\n"
 +msgstr "     -f �����ļ� (%s/sarg.conf)\n"
 +=======
  "     -d DATE        Date range to include in the report: from-until dd/mm/"
  "yyyy-dd/mm/yyyy"
--msgstr "     -d ÈÕÆÚ´Ó£­µ½ dd/mm/yyyy-dd/mm/yyyy"
++msgstr "     -d ï¿½ï¿½ï¿½Ú´Ó£ï¿½ï¿½ï¿½ dd/mm/yyyy-dd/mm/yyyy"
  
  #: usage.c:39
  #, fuzzy
  msgid ""
  "     -e MAIL        Email address to send reports to (stdout for console)"
--msgstr "     -e ÓʼþµØÖ··¢Ëͱ¨¸æ (stdout for console)"
++msgstr "     -e �ʼ���ַ���ͱ��� (stdout for console)"
  
  #: usage.c:40
  #, fuzzy, c-format
  msgid "     -f FILE        Config file to read (default is %s/sarg.conf)\n"
--msgstr "     -f ÅäÖÃÎļþ (%s/sarg.conf)\n"
++msgstr "     -f �����ļ� (%s/sarg.conf)\n"
 +>>>>>>> origin/v2.3
  
  #: usage.c:41
  #, fuzzy
  msgid ""
 +<<<<<<< HEAD
 +"     -g FMT      Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]"
 +msgstr "     -g ���ڸ�ʽ [e=ŷ�� -> dd/mm/yyyy, u=��� ->mm/dd/yyyy]"
 +
 +#: usage.c:42
 +#, fuzzy
 +msgid "     -h          This help"
 +msgstr "     -h �����ǰ���"
 +
 +#: usage.c:43
 +#, fuzzy
 +msgid "     --help      This help"
 +msgstr "     -h �����ǰ���"
 +
 +#: usage.c:44
 +#, fuzzy
 +msgid "     -i          Reports by user and IP address"
 +msgstr "     -i �û�������IP��ַ"
 +=======
  "     -g FMT         Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]"
--msgstr "     -g ÈÕÆÚ¸ñʽ [e=Å·ÖÞ -> dd/mm/yyyy, u=ÃÀ¹ú ->mm/dd/yyyy]"
++msgstr "     -g ���ڸ�ʽ [e=ŷ�� -> dd/mm/yyyy, u=��� ->mm/dd/yyyy]"
  
  #: usage.c:42
  #, fuzzy
  msgid "     -h             This help"
--msgstr "     -h ÕâÀïÊÇ°ïÖú"
++msgstr "     -h �����ǰ���"
  
  #: usage.c:43
  #, fuzzy
  msgid "     --help         This help"
--msgstr "     -h ÕâÀïÊÇ°ïÖú"
++msgstr "     -h �����ǰ���"
  
  #: usage.c:44
  #, fuzzy
  msgid "     -i             Reports by user and IP address"
--msgstr "     -i Óû§±¨¸æºÍIPµØÖ·"
++msgstr "     -i �û�������IP��ַ"
 +>>>>>>> origin/v2.3
  
  #: usage.c:45
  msgid "     --keeplogs     Keep every previously generated report"
@@@ -2988,13 -2805,8 +2990,13 @@@ msgstr "
  
  #: usage.c:46
  #, fuzzy
 +<<<<<<< HEAD
 +msgid "     -l FILE     Input log"
 +msgstr "     -l ������־"
 +=======
  msgid "     -l FILE        Input log"
--msgstr "     -l ÊäÈëÈÕÖ¾"
++msgstr "     -l ������־"
 +>>>>>>> origin/v2.3
  
  #: usage.c:47
  msgid "     --lastlog      Set the number of previous reports to keep"
@@@ -3002,38 -2814,23 +3004,38 @@@ msgstr "
  
  #: usage.c:48
  #, fuzzy
 +<<<<<<< HEAD
 +msgid "     -m          Advanced process messages"
 +msgstr "                ������Ϣ (-z) = %s\n"
 +
 +#: usage.c:49
 +#, fuzzy
 +msgid "     -n          Resolve IP addresses using RDNS"
 +msgstr "              ת��IP��ַ (-n) = %s\n"
 +=======
  msgid "     -m             Advanced process messages"
--msgstr "                ½ø³ÌÐÅϢ (-z) = %s\n"
++msgstr "                ������Ϣ (-z) = %s\n"
  
  #: usage.c:49
  #, fuzzy
  msgid "     -n             Resolve IP addresses using RDNS"
--msgstr "              ×ª»»IPµØÖ· (-n) = %s\n"
++msgstr "              ת��IP��ַ (-n) = %s\n"
 +>>>>>>> origin/v2.3
  
  #: usage.c:50
  #, fuzzy
  msgid "     -o DIR         Report output directory"
--msgstr "     -w ÁÙʱĿ¼"
++msgstr "     -w ��ʱĿ¼"
  
  #: usage.c:51
  #, fuzzy
 +<<<<<<< HEAD
 +msgid "     -p          Use Ip Address instead of userid (reports)"
 +msgstr "     -p ʹ��IP��ַ�����û�ID (reports)"
 +=======
  msgid "     -p             Use Ip Address instead of userid (reports)"
--msgstr "     -p Ê¹ÓÃIPµØÖ·Ìæ´úÓû§ID (reports)"
++msgstr "     -p ʹ��IP��ַ�����û�ID (reports)"
 +>>>>>>> origin/v2.3
  
  #: usage.c:52
  msgid "     -P PREFIX      Prepend a prefix to the splitted file names"
@@@ -3041,24 -2838,14 +3043,24 @@@ msgstr "
  
  #: usage.c:53
  #, fuzzy
 +<<<<<<< HEAD
 +msgid "     -s SITE     Limit report to accessed site [eg. www.microsoft.com]"
 +msgstr "     -s ����վ�� [���� www.microsoft.com, www.netscape.com]"
 +
 +#: usage.c:54
 +#, fuzzy
 +msgid "     --split     Split the log file by date in -d parameter"
 +msgstr "     -split ʹ�����ڷ�����־�ļ� -d ����"
 +=======
  msgid ""
  "     -s SITE        Limit report to accessed site [eg. www.microsoft.com]"
--msgstr "     -s ·ÃÎÊÕ¾µã [ÀýÈç www.microsoft.com, www.netscape.com]"
++msgstr "     -s ����վ�� [���� www.microsoft.com, www.netscape.com]"
  
  #: usage.c:54
  #, fuzzy
  msgid "     --split        Split the log file by date in -d parameter"
--msgstr "     -split Ê¹ÓÃÈÕÆÚ·ÖÀëÈÕÖ¾Îļþ -d ²ÎÊý"
++msgstr "     -split ʹ�����ڷ�����־�ļ� -d ����"
 +>>>>>>> origin/v2.3
  
  #: usage.c:55
  msgid ""
@@@ -3072,130 -2859,107 +3074,130 @@@ msgstr "
  
  #: usage.c:58
  #, fuzzy
 +<<<<<<< HEAD
 +msgid "     -w DIR      Temporary directory"
 +msgstr "     -w ��ʱĿ¼"
 +
 +#: usage.c:59
 +#, fuzzy
 +msgid "     -x          Debug messages"
 +msgstr "     -x ������Ϣ"
 +
 +#: usage.c:60
 +#, fuzzy
 +msgid "     -z          Process messages"
 +msgstr "     -z ������Ϣ"
 +
 +#: usage.c:63
 +msgid ""
 +"\n"
 +"\tPlease donate to the sarg project:"
 +msgstr ""
 +"\n"
 +"\t������Sarg��Ŀ:"
 +=======
  msgid "     -u USER        Report only that user's activity"
--msgstr "     -i Óû§±¨¸æºÍIPµØַ"
++msgstr "     -i �û�������IP��ַ"
  
  #: usage.c:59
  #, fuzzy
  msgid "     -w DIR         Temporary directory"
--msgstr "     -w ÁÙʱĿ¼"
++msgstr "     -w ��ʱĿ¼"
  
  #: usage.c:60
  #, fuzzy
  msgid "     -x             Debug messages"
--msgstr "     -x ²î´íÐÅϢ"
++msgstr "     -x ������Ϣ"
  
  #: usage.c:61
  #, fuzzy
  msgid "     -z             Process messages"
--msgstr "     -z ½ø³ÌÐÅÏ¢"
++msgstr "     -z ������Ϣ"
 +>>>>>>> origin/v2.3
  
  #: 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"
 +msgstr "(useragent) ���ܴ����ļ� %s\n"
  
  #: useragent.c:75
  #, c-format
  msgid "Reading useragent log: %s\n"
 -msgstr "¶ÁÈ¡Óû§´úÀíÈÕ־: %s\n"
 +msgstr "��ȡ�û�������־: %s\n"
  
  #: useragent.c:100
  #, c-format
  msgid "Maybe you have a broken useragent entry in your %s file\n"
 -msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÓû§´úÀíÔÚÄãµÄ %s Îļþ\n"
 +msgstr "�������в��������û����������� %s �ļ�\n"
  
  #: useragent.c:122
  #, c-format
  msgid "   Records read: %ld\n"
 -msgstr "   ¼Í¼ ¶Áȡ: %ld\n"
 +msgstr "   ��¼ ��ȡ: %ld\n"
  
  #: useragent.c:163
  #, c-format
  msgid "Making Useragent report\n"
 -msgstr "±ê¼ÇµÄÓû§´úÀí±¨¸æ\n"
 +msgstr "���ǵ��û�������\n"
  
  #: useragent.c:165 useragent.c:166
  msgid "Squid Useragent's Report"
 -msgstr "SquidÓû§´úÀíµÄ±¨¸æ"
 +msgstr "Squid�û������ı���"
  
  #: useragent.c:175 useragent.c:311
  msgid "AGENT"
 -msgstr "´úÀí"
 +msgstr "����"
  
  #: useragent.c:180 useragent.c:250
  #, c-format
  msgid "There is an invalid IP address in file %s\n"
 -msgstr "ÓÐÒ»¸öÎÞЧµÄIPµØÖ·ÔÚÎļþ %s\n"
 +msgstr "��һ����Ч��IP��ַ���ļ� %s\n"
  
  #: useragent.c:193 useragent.c:254 useragent.c:318
  #, c-format
  msgid "There is an invalid useragent in file %s\n"
 -msgstr "ÓÐÒ»¸öÎÞЧµÄÓû§´úÀíÔÚÎļþ %s\n"
 +msgstr "��һ����Ч���û��������ļ� %s\n"
  
  #: userinfo.c:81
  #, c-format
  msgid "Not enough memory to store the user\n"
 -msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ \n"
 +msgstr "û���㹻���ڴ���洢�û� \n"
  
  #: usertab.c:64
  #, c-format
  msgid "(usertab) Cannot open file %s - %s\n"
 -msgstr "(usertab) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
 +msgstr "(usertab) ���ܴ����ļ� %s - %s\n"
  
  #: usertab.c:68
  #, c-format
  msgid "Failed to move till the end of the usertab file %s: %s\n"
 -msgstr "ÎÞ·¨Òƶ¯Ö±µ½Óû§±íÎļþĩβ %s: %s\n"
 +msgstr "�޷��ƶ�ֱ���û����ļ�ĩβ %s: %s\n"
  
  #: usertab.c:78
  #, c-format
  msgid "Failed to rewind the usertab file %s: %s\n"
 -msgstr "ÎÞ·¨×ª»ØÓû§±íÎļþ %s: %s\n"
 +msgstr "�޷�ת���û����ļ� %s: %s\n"
  
  #: usertab.c:82
  #, c-format
  msgid "ERROR: Cannot load. Memory fault\n"
 -msgstr "´íÎó: ²»ÄÜÔØÈë. ÄÚ´æ´íÎó \n"
 +msgstr "����: ��������. �ڴ����� \n"
  
  #: usertab.c:93 usertab.c:102
  #, c-format
  msgid "The list of the users is too long in your %s file.\n"
 -msgstr "Óû§Áбí¹ý³¤ÔÚÄãµÄ %s Îļþ.\n"
 +msgstr "�û��б����������� %s �ļ�.\n"
  
  #: usertab.c:149
  #, fuzzy, c-format
  msgid "Cannot prepare ldap URI for server %s on port %d\n"
 -msgstr "²»ÄÜÁ¬½ÓÖÁLDAP·þÎñÆ÷ %s Ê¹Óö˿ڠ%d\n"
 +msgstr "���������LDAP������ %s ʹ�ö˿� %d\n"
  
  #: usertab.c:155
  #, fuzzy, c-format
  msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n"
 -msgstr "²»ÄÜÁ¬½ÓÖÁLDAP·þÎñÆ÷ %s Ê¹Óö˿ڠ%d\n"
 +msgstr "���������LDAP������ %s ʹ�ö˿� %d\n"
  
  #: usertab.c:161
  #, c-format
@@@ -3205,17 -2969,17 +3207,17 @@@ msgstr "
  #: usertab.c:166
  #, c-format
  msgid "Could not set LDAP protocol version %d\n"
 -msgstr "²»ÄÜÉèÖÃLDAPЭÒé°汾 %d\n"
 +msgstr "��������LDAPЭ���汾 %d\n"
  
  #: usertab.c:173
  #, c-format
  msgid "Cannot bind to LDAP server: %s\n"
 -msgstr "²»ÄÜ°ó¶¨ÖÁLDAP·þÎñÆ÷: %s\n"
 +msgstr "���ܰ�����LDAP������: %s\n"
  
  #: usertab.c:234
  #, c-format
  msgid "LDAP search failed: %s\n"
 -msgstr "LDAPËÑË÷ʧ°Ü: %s\n"
 +msgstr "LDAP����ʧ��: %s\n"
  
  #: usertab.c:235
  #, c-format
@@@ -3225,22 -2989,22 +3227,22 @@@ msgstr "
  #: usertab.c:266 usertab.c:276
  #, c-format
  msgid "Loading User table: %s\n"
 -msgstr "ÔØÈëÓû§±í: %s\n"
 +msgstr "�����û���: %s\n"
  
  #: usertab.c:271
  #, c-format
  msgid "LDAP module not compiled in sarg\n"
 -msgstr "LDAPģ¿éûÓбàÒëÔÚsargÖÐ\n"
 +msgstr "LDAPģ��û�б�����sarg��\n"
  
  #: util.c:55
  #, c-format
  msgid "getword backtrace:\n"
 -msgstr "getword »ØËÝ:\n"
 +msgstr "getword ����:\n"
  
  #: util.c:74
  #, c-format
  msgid "Cannot parse again the line as it was modified\n"
 -msgstr "²»ÄÜÔٴνâÎöÒòΪËüÒѾ­±»ÐÞ¸Ä\n"
 +msgstr "�����ٴν�����Ϊ���Ѿ����޸�\n"
  
  #: util.c:86
  #, c-format
@@@ -3295,41 -3059,32 +3297,41 @@@ msgstr "
  #: util.c:263
  #, c-format
  msgid "Invalid buffer passed to getword_ptr\n"
 -msgstr "²»´æÔڵĻº³åÇø´«µÝ¸ø getword_ptr\n"
 +msgstr "�����ڵĻ��������ݸ� getword_ptr\n"
  
  #: util.c:317
  #, c-format
  msgid "Invalid path (%s). Please, use absolute paths only.\n"
  msgstr ""
 -"²»´æÔڵķ¾¶ (%s).\n"
 -" Çë½öʹÓþø¶Ô·¾¶.\n"
 +"�����ڵ�·�� (%s).\n"
 +" ����ʹ�þ���·��.\n"
  
 +<<<<<<< HEAD
 +#: util.c:318 util.c:333 util.c:345
 +#, c-format
 +msgid "process aborted.\n"
 +msgstr "������ֹ.\n"
 +
 +#: util.c:325
 +=======
  #: util.c:324
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "directory name too long: %s\n"
 -msgstr "Îļþ¼ÐÃû¹ý³¤: %s\n"
 +msgstr "�ļ���������: %s\n"
  
  #: util.c:358
  #, 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"
 +msgstr "���ݸ�my_lltoa (%d) ��λҪ�������������С (%d)\n"
  
  #: util.c:433
  msgid ""
  "January,February,March,April,May,June,July,August,September,October,November,"
  "December"
 -msgstr "һÔÂ,¶þÔÂ,ÈýÔÂ,ËÄÔÂ,ÎåÔÂ,ÁùÔÂ,ÆßÔÂ,°ËÔÂ,¾ÅÔÂ,Ê®ÔÂ,ʮһÔÂ,Ê®¶þÔÂ"
 +msgstr "һ��,����,����,����,����,����,����,����,����,ʮ��,ʮһ��,ʮ����"
  
  #: util.c:438 util.c:442
  #, c-format
@@@ -3350,73 -3105,73 +3352,73 @@@ msgstr "SARG: 
  #: util.c:660
  #, c-format
  msgid "Failed to read the date in %s\n"
 -msgstr "¶ÁÈ¡ÈÕÆÚʧ°Ü %s\n"
 +msgstr "��ȡ����ʧ�� %s\n"
  
  #: util.c:716
  #, c-format
  msgid "Failed to read the number of users in %s\n"
 -msgstr "¶ÁÈ¡Óû§Êýʧ°Ü %s\n"
 +msgstr "��ȡ�û���ʧ�� %s\n"
  
  #: util.c:761
  #, c-format
  msgid "There is a invalid user in file %s\n"
 -msgstr "Óв»´æÔÚµÄÓû§ÔÚÎļþ %s\n"
 +msgstr "�в����ڵ��û����ļ� %s\n"
  
  #: util.c:767
  #, c-format
  msgid "There a broken total number of access in file %s\n"
 -msgstr "Óв»ÍêÕûµÄ·ÃÎÊ×ÜÊýÔÚÎļþ %s\n"
 +msgstr "�в������ķ����������ļ� %s\n"
  
  #: util.c:926
  #, c-format
  msgid "Cannot copy images to target directory %simages\n"
 -msgstr "²»ÄÜ¿½±´¾µÏñµ½Ä¿±êÎļþ¼Ð %simages\n"
 +msgstr "���ܿ���������Ŀ���ļ��� %simages\n"
  
  #: util.c:939
  #, c-format
  msgid "(util) Can't open directory %s: %s\n"
 -msgstr "(util) ²»ÄÜ´ò¿ªÎļþ¼Ð %s: %s\n"
 +msgstr "(util) ���ܴ����ļ��� %s: %s\n"
  
  #: util.c:947
  #, c-format
  msgid "Cannot stat \"%s\" - %s\n"
 -msgstr "²»ÄÜ¿ªʼ \"%s\" - %s\n"
 +msgstr "���ܿ�ʼ \"%s\" - %s\n"
  
  #: util.c:958
  #, c-format
  msgid "Failed to copy image %s to %s\n"
 -msgstr "¿½±´¾µÏñʧ°Ü %s µ½  %s\n"
 +msgstr "��������ʧ�� %s ï¿½ï¿½  %s\n"
  
  #: util.c:964 util.c:967
  msgid "Cannot open file"
 -msgstr "²»ÄÜ´ò¿ªÎļþ"
 +msgstr "���ܴ����ļ�"
  
  #: util.c:1054 util.c:1077
  #, c-format
  msgid "File %s already exists, moved to %s\n"
 -msgstr "Îļþ %s ÒѾ­´æÔÚ, Òƶ¯ÖÁ %s\n"
 +msgstr "�ļ� %s �Ѿ�����, �ƶ��� %s\n"
  
  #: util.c:1095
  #, c-format
  msgid "cannot open %s for writing\n"
 -msgstr "²»ÄÜ´ò¿ªÎļþ %s À´Ð´Èë\n"
 +msgstr "���ܴ����ļ� %s �д��\n"
  
  #: util.c:1104 util.c:1109
  #, c-format
  msgid "Failed to write the date in %s\n"
 -msgstr "дÈëʱ¼äʱʧ°ÜÔÚw %s\n"
 +msgstr "д��ʱ��ʱʧ����w %s\n"
  
  #: util.c:1130
  #, fuzzy, c-format
  msgid "Invalid buffer length passed to the function to safely copy a string\n"
 -msgstr "²»´æÔڵĻº³åÇø´«µÝ¸ø getword_ptr\n"
 +msgstr "�����ڵĻ��������ݸ� getword_ptr\n"
  
  #: util.c:1209
  #, 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"
 +msgstr "��Ϊ����ʱ���ڸ�ʽ����Ϊdd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy\n"
  
  #: util.c:1214 util.c:1218
  #, c-format
@@@ -3424,32 -3179,32 +3426,32 @@@ msgid "
  "The date range 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-dd/mm/yyyy\n"
 +"��Ϊ����������������ʽ����Ϊdd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy-dd/mm/yyyy\n"
  
  #: util.c:1231
  #, c-format
  msgid "Failed to get the current time\n"
 -msgstr "µÃµ½×¼È·Ê±¼äʱʧ°Ü\n"
 +msgstr "�õ�׼ȷʱ��ʱʧ��\n"
  
  #: util.c:1236
  #, c-format
  msgid "Invalid number of days in -d parameter\n"
 -msgstr "ÎÞЧµÄÈÕÆÚÊý×ÖÔÚʹÓà-d ²ÎÊýʱ\n"
 +msgstr "��Ч������������ʹ�� -d ����ʱ\n"
  
  #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295
  #, c-format
  msgid "Cannot convert local time: %s\n"
 -msgstr "²»ÄÜת»»±¾µØʱ¼ä: %s\n"
 +msgstr "����ת������ʱ��: %s\n"
  
  #: util.c:1261
  #, c-format
  msgid "Invalid number of weeks in -d parameter\n"
 -msgstr "ÎÞЧµÄÖÜÊý×ÖÔÚʹÓà-d ²ÎÊýʱ\n"
 +msgstr "��Ч����������ʹ�� -d ����ʱ\n"
  
  #: util.c:1290
  #, c-format
  msgid "Invalid number of months in -d parameter\n"
 -msgstr "ÎÞЧµÄÔ·ÝÊý×ÖÔÚʹÓà-d ²ÎÊýʱ\n"
 +msgstr "��Ч���·�������ʹ�� -d ����ʱ\n"
  
  #: util.c:1324
  #, fuzzy, c-format
@@@ -3459,119 -3214,82 +3461,119 @@@ msgstr "±äÃ\81¿´«µÃ\9dµÃ\84Ã\88Ã\95Ã\86Ã\9a·Â
  #: util.c:1375
  #, c-format
  msgid "Purging temporary file sarg-general\n"
 -msgstr "Çå³þÁÙʱÎļþ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"
 +msgstr "(removetmp) �ļ���̫�����ܱ�ɾ�� %s/sarg-period\n"
  
  #: util.c:1382
  #, c-format
  msgid "(removetmp) Cannot open file %s\n"
 -msgstr "(removetmp) ²»ÄÜ´ò¿ªÎļþ %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"
 +msgstr "д��������֮���ر� %s ʱʧ�� - %s\n"
  
  #: util.c:1404
  #, c-format
  msgid "(util) Cannot open file %s (exclude_codes)\n"
 -msgstr "(util)²»ÄÜ´ò¿ªÎļþ %s (exclude_codes)\n"
 +msgstr "(util)���ܴ����ļ� %s (exclude_codes)\n"
  
  #: util.c:1409
  #, c-format
  msgid "Failed to move till the end of the excluded codes file %s: %s\n"
 -msgstr "ÔÚÅųý´úÂëÎļþ֮ǰ²»ÄÜÒƶ¯¸ÃÎļþ %s: %s\n"
 +msgstr "���ų������ļ�֮ǰ�����ƶ����ļ� %s: %s\n"
  
  #: util.c:1418
  #, c-format
  msgid "Failed to rewind the excluded codes file %s: %s\n"
 -msgstr "תÏòÅųý´úÂëÎļþʱʧ°Ü %s: %s\n"
 +msgstr "ת���ų������ļ�ʱʧ�� %s: %s\n"
  
  #: util.c:1435
  #, c-format
  msgid "Too many codes to exclude in file %s\n"
 -msgstr "ÔÚÎļþÖйý¶àµÄ±àÂë±»Åųý %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"
 +msgstr "���ܻ�ȡ���̿ռ���Ϊ·�� %s%s ����\n"
  
  #: util.c:1593
  #, c-format
  msgid "Cannot get disk space with command %s\n"
 -msgstr "²»Äܵõ½´ÅÅÌ¿Õ¼äʹÓÃÃüÁî %s\n"
 +msgstr "���ܵõ����̿ռ�ʹ������ %s\n"
  
  #: util.c:1597
  #, c-format
  msgid "Cannot get disk size with command %s\n"
 -msgstr "²»ÄÜ»ñÈ¡´ÅÅÌ´óСʹÓÃÃüÁî %s\n"
 +msgstr "���ܻ�ȡ���̴�Сʹ������ %s\n"
  
  #: util.c:1602
  #, c-format
  msgid "The command %s failed\n"
 -msgstr "ÃüÁî %s Ê§°Ü\n"
 +msgstr "���� %s ʧ��\n"
  
  #: util.c:1786
  #, c-format
  msgid "SARG Version: %s\n"
 -msgstr "SARG°汾: %s\n"
 +msgstr "SARG汾: %s\n"
  
  #: util.c:1818 util.c:1909 util.c:1951
  #, c-format
  msgid "directory name to delete too long: %s/%s\n"
 -msgstr "Îļþ¼ÐÃû³ÆÌ«³¤²»ÄÜɾ³ý: %s/%s\n"
 +msgstr "�ļ�������̫������ɾ��: %s/%s\n"
  
  #: util.c:1827
  #, c-format
  msgid "cannot stat %s\n"
 -msgstr "²»ÄÜ¿ªʼ %s\n"
 +msgstr "���ܿ�ʼ %s\n"
  
 +<<<<<<< HEAD
 +#: util.c:1835 util.c:1848
 +#, c-format
 +msgid "cannot delete %s - %s\n"
 +msgstr " ����ɾ�� %s - %s\n"
 +
 +#: util.c:1841
 +=======
  #: util.c:1838 util.c:1969
 +>>>>>>> origin/v2.3
  #, c-format
  msgid "unknown path type %s\n"
 -msgstr "δ֪µÄ·¾¶ÀàÐÍ %s\n"
 +msgstr "δ֪��·������ %s\n"
 +
 +#~ msgid "Sort"
 +#~ msgstr "����"
 +
 +#, fuzzy
 +#~ 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"
 +
 +#~ msgid ""
 +#~ "SARG: I think someone is trying to execute arbitrary code in your system "
 +#~ "using sarg.\n"
 +#~ msgstr "SARG: ���������ڳ���ִ�������Ĵ���������ϵͳ��ʹ��sarg.\n"
 +
 +#~ msgid ""
 +#~ "SARG: please review your access.log and/or your useragent.log file.\n"
 +#~ msgstr "SARG: ���쿴access.log ��/�� useragent.log �ļ�.\n"
 +
 +#~ msgid "SARG: process stoped. No actions taken.\n"
 +#~ msgstr "SARG: ������ֹ.û��ִ��.\n"
 +
 +#~ msgid "temporary directory too long: %s/sarg\n"
 +#~ msgstr "��ʱ�ļ��й���: %s/sarg\n"
  
  #: util.c:1902 util.c:1944
  #, c-format
@@@ -3584,188 -3302,191 +3586,191 @@@ msgstr "
  #: util.c:1919 util.c:1960
  #, fuzzy, c-format
  msgid "cannot stat \"%s\"\n"
--msgstr "²»ÄÜ¿ªʼ %s\n"
++msgstr "���ܿ�ʼ %s\n"
  
  #: util.c:1925
  #, c-format
  msgid "Unknown path type \"%s\". Check your temporary directory\n"
  msgstr ""
  
+ #~ msgid "H"
+ #~ msgstr "H"
  #, fuzzy
  #~ msgid ""
  #~ "SARG: Maybe you have a broken record or garbage in the names of the "
  #~ "months.\n"
--#~ msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø´æÔÚÎļþ %s\n"
++#~ msgstr "�����в������ļ�¼������������ļ� %s\n"
  
  #, fuzzy
  #~ msgid ""
  #~ "Maybe you have a broken record or garbage in the name of the months.\n"
--#~ msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø´æÔÚÎļþ %s\n"
++#~ msgstr "�����в������ļ�¼������������ļ� %s\n"
  
  #~ msgid ""
  #~ "\n"
  #~ "\tPlease donate to the sarg project:"
  #~ msgstr ""
  #~ "\n"
--#~ "\tÇë¾èÖúSargÏîĿ:"
++#~ "\t������Sarg��Ŀ:"
  
  #, fuzzy
  #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n"
--#~ msgstr "ɾ³ýÎļþʧ°Ü %s\n"
++#~ msgstr "ɾ���ļ�ʧ�� %s\n"
  
  #~ msgid "Report"
--#~ msgstr "±¨¸æ"
++#~ msgstr "����"
  
  #, fuzzy
  #~ msgid "Cannot delete unused file \"%s\" - %s\n"
--#~ msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n"
++#~ msgstr "�޷�ɾ����ʱ�ļ� %s - %s\n"
  
  #, fuzzy
  #~ msgid "Failed to remove the file %s: %s\n"
--#~ msgstr "ÒƳýÎļþʧ°Ü %s\n"
++#~ msgstr "�Ƴ��ļ�ʧ�� %s\n"
  
  #~ msgid "Failed to delete the file %s\n"
--#~ msgstr "ɾ³ýÎļþʧ°Ü %s\n"
++#~ msgstr "ɾ���ļ�ʧ�� %s\n"
  
  #~ msgid "process aborted.\n"
--#~ msgstr "½ø³ÌÖÐֹ.\n"
++#~ msgstr "������ֹ.\n"
  
  #~ msgid "cannot delete %s - %s\n"
--#~ msgstr " ²»ÄÜɾ³ý %s - %s\n"
++#~ msgstr " ����ɾ�� %s - %s\n"
  
  #~ msgid "     -b Useragent log"
 -#~ msgstr "     -b Óû§´úÀíÈÕ־"
 +#~ msgstr "     -b �û�������־"
  
  #~ msgid "     -c Exclude file"
 -#~ msgstr "     -c ÅųýµÄÎļþ"
 +#~ msgstr "     -c �ų����ļ�"
  
  #~ msgid "     -n Resolve IP Address"
 -#~ msgstr "     -n ½âÎöIPµØַ"
 +#~ msgstr "     -n ����IP��ַ"
  
  #~ msgid "     -o Output dir"
 -#~ msgstr "     -o Êä³öĿ¼"
 +#~ msgstr "     -o ����Ŀ¼"
  
  #~ msgid "     -t Time [HH, HH:MM]"
 -#~ msgstr "     -t ʱ¼ä[HH,HH:MM]"
 +#~ msgstr "     -t ʱ��[HH,HH:MM]"
  
  #~ msgid "     -u User"
 -#~ msgstr "     -u Óû§"
 +#~ msgstr "     -u �û�"
  
  #~ msgid "URL too long in redirector log file %s\n"
 -#~ msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐÁ¬½Ó¹ý³¤ %s\n"
 +#~ msgstr "���ض�����־�ļ�����ӹ��� %s\n"
  
  #~ msgid "Temporary file name too long: %s/%s.htmp\n"
 -#~ msgstr "ÁÙʱÎļþÃû¹ý³¤: %s/%s.htmp\n"
 +#~ msgstr "��ʱ�ļ�������: %s/%s.htmp\n"
  
  #~ msgid "(report-1) Cannot open file %s - %s\n"
 -#~ msgstr "(report-1) ²»ÄÜ´ò¿ªÎļþ %s - %s\n"
 +#~ msgstr "(report-1) ���ܴ����ļ� %s - %s\n"
  
  #~ msgid "Path too long %s/%s.htmp\n"
 -#~ msgstr "·¾¶¹ý³¤ %s/%s.htmp\n"
 +#~ msgstr "·������ %s/%s.htmp\n"
  
  #~ msgid "(report-2) Cannot open file %s - %s\n"
 -#~ msgstr "(report-2)²»ÄÜ´ò¿ªÎļþ %s - %s\n"
 +#~ msgstr "(report-2)���ܴ����ļ� %s - %s\n"
  
  #~ msgid "pre-sorting files\n"
 -#~ msgstr "ԤÅÅÐòÎļþ\n"
 +#~ msgstr "Ԥ�����ļ�\n"
  
  #~ msgid "Cannot delete temporary file %s - %s\n"
 -#~ msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n"
 +#~ msgstr "�޷�ɾ����ʱ�ļ� %s - %s\n"
  
  #~ msgid "Cannot get the size of file %s"
 -#~ msgstr "²»ÄÜ»ñÈ¡ÎļþµÄ´óС %s"
 +#~ msgstr "���ܻ�ȡ�ļ��Ĵ�С %s"
  
  #~ msgid "ERROR: Cannot load. Memory fault"
 -#~ msgstr "´íÎó: ²»ÄܼÓÔØ,´æÄÚ´íÎó"
 +#~ msgstr "����: ���ܼ���,���ڴ���"
  
  #, fuzzy
  #~ msgid "(html11) Cannot open file %s - %s\n"
 -#~ msgstr "(html11) ²»ÄÜ´ò¿ªÎļþ %s\n"
 +#~ msgstr "(html11) ���ܴ����ļ� %s\n"
  
  #~ msgid "(html11) read error in %s\n"
 -#~ msgstr "(html11) ¶ÁÈ¡´íÎóÔÚ %s\n"
 +#~ msgstr "(html11) ��ȡ������ %s\n"
  
  #~ msgid "IPv6 addresses are not supported (found in %s)\n"
 -#~ msgstr "IPv6²»±»Ö§³Ö(found in %s)\n"
 +#~ msgstr "IPv6����֧��(found in %s)\n"
  
  #~ msgid "There is a broken record or garbage in your %s file\n"
 -#~ msgstr "Óв»ÍêÕûµÄ¼Í¼»òÀ¬»øÔÚÄãµÄ %s ÎļþÖÐ\n"
 +#~ msgstr "�в������ļ�¼����������� %s �ļ���\n"
  
  #~ msgid "Ignoring unknown user file %s\n"
 -#~ msgstr "Ìø¹ýδ֪µÄÓû§Îļþ %s\n"
 +#~ msgstr "����δ֪���û��ļ� %s\n"
  
  #~ msgid "(html2) Cannot open file %s\n"
 -#~ msgstr "(html2) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 +#~ msgstr "(html2) ���ܴ�����־�ļ� %s\n"
  
  #~ msgid "Unknown user ID %s in directory %s\n"
 -#~ msgstr "δ֪µÄÓû§ID %s ÔÚĿ¼ %s\n"
 +#~ msgstr "δ֪���û�ID %s ��Ŀ¼ %s\n"
  
  #~ msgid "Time period must be MM or MM:SS. Exit\n"
 -#~ msgstr "ʱ¼äÇø¼ä±ØÐëΪ MM »òÕß MM:SS.Exit\n"
 +#~ msgstr "ʱ����������Ϊ MM ���� MM:SS.Exit\n"
  
  #~ msgid "Path too long %s/%s.utmp\n"
 -#~ msgstr "·¾¶¹ý³¤ %s/%s.utmp\n"
 +#~ msgstr "·������ %s/%s.utmp\n"
  
  #~ msgid "(totger) Cannot open file %s\n"
 -#~ msgstr "(totger) ²»ÄÜ´ò¿ªÎļþ %s\n"
 +#~ msgstr "(totger) ���ܴ����ļ� %s\n"
  
  #~ msgid "Not enough memory to read the temporary file %s\n"
 -#~ msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡ÁÙʱÎļþ %s\n"
 +#~ msgstr "û���㹻���ڴ�ȥ��ȡ��ʱ�ļ� %s\n"
  
  #~ msgid "Failed to move to the end of %s - %s\n"
 -#~ msgstr "Òƶ¯µ½Ä©Î²Ê±Ê§°Ü %s - %s\n"
 +#~ msgstr "�ƶ���ĩβʱʧ�� %s - %s\n"
  
  #~ msgid "Failed to rewind to the beginning of the file %s: %s\n"
 -#~ msgstr "תÏòÎļþ¿ªÊ¼²¿·Öʱʧ°Ü %s: %s\n"
 +#~ msgstr "ת���ļ���ʼ����ʱʧ�� %s: %s\n"
  
  #~ msgid "Failed to write the total line in %s - %s\n"
 -#~ msgstr "дÈëËùÓÐÐÐʱʧ°Ü%s - %s\n"
 +#~ msgstr "д��������ʱʧ��%s - %s\n"
  
  #~ msgid "Failed to truncate %s: %s\n"
 -#~ msgstr "½Ø¶Ìʱʧ°Ü %s: %s\n"
 +#~ msgstr "�ض�ʱʧ�� %s: %s\n"
  
  #~ msgid "Sort"
 -#~ msgstr "ÅÅÐò"
 +#~ msgstr "����"
  
  #, fuzzy
  #~ msgid "USER"
 -#~ msgstr "Óû§"
 +#~ msgstr "�û�"
  
  #~ msgid "Temporary directory name too long: %s\n"
 -#~ msgstr "ÁÙʱÎļþ¼ÐÃû³Æ¹ý³¤: %s\n"
 +#~ msgstr "��ʱ�ļ������ƹ���: %s\n"
  
  #~ msgid "SARG: MALICIUS CODE DETECTED.\n"
 -#~ msgstr "SARG: MALICIUS ´úÂëÕì²⵽d.\n"
 +#~ msgstr "SARG: MALICIUS �������⵽d.\n"
  
  #~ msgid ""
  #~ "SARG: I think someone is trying to execute arbitrary code in your system "
  #~ "using sarg.\n"
 -#~ msgstr "SARG: ÎÒÏëÓÐÈËÔÚ³¢ÊÔÖ´ÐÐÈÎÒâµÄ´úÂëÔÚÄãµÄϵͳÖÐʹÓÃsarg.\n"
 +#~ msgstr "SARG: ���������ڳ���ִ�������Ĵ���������ϵͳ��ʹ��sarg.\n"
  
  #~ msgid ""
  #~ "SARG: please review your access.log and/or your useragent.log file.\n"
 -#~ msgstr "SARG: Çë²ì¿´access.log ºÍ/»ò useragent.log Îļþ.\n"
 +#~ msgstr "SARG: ���쿴access.log ��/�� useragent.log �ļ�.\n"
  
  #~ msgid "SARG: process stoped. No actions taken.\n"
 -#~ msgstr "SARG: ½ø³ÌÖÐÖ¹.ûÓÐÖ´ÐÐ.\n"
 +#~ msgstr "SARG: ������ֹ.û��ִ��.\n"
  
  #~ msgid "temporary directory too long: %s/sarg\n"
 -#~ msgstr "ÁÙʱÎļþ¼Ð¹ý³¤: %s/sarg\n"
 +#~ msgstr "��ʱ�ļ��й���: %s/sarg\n"
  
  #~ msgid "(convlog) Cannot open log file %s\n"
 -#~ msgstr "(convlog) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n"
 +#~ msgstr "(convlog) ���ܴ�����־�ļ� %s\n"
  
  #~ msgid "user name too long for %s/%s/graph_day.png\n"
 -#~ msgstr "Óû§Ãû¹ý³¤ %s/%s/graph_day.png\n"
 +#~ msgstr "�û������� %s/%s/graph_day.png\n"
  
  #~ msgid "Month string too long in redirector log file %s\n"
 -#~ msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐÔ·Ý×Ö·û´®¹ý³¤ %s\n"
 +#~ msgstr "���ض�����־�ļ����·��ַ������� %s\n"
  
  #~ msgid "Day string too long in redirector log file %s\n"
 -#~ msgstr "ÔÚÖض¨ÏòÈÕÖ¾ÎļþÖÐÈÕÆÚ×Ö·û´®Ì«³¤ %s\n"
 +#~ msgstr "���ض�����־�ļ��������ַ���̫�� %s\n"
  
  #~ msgid "There is a broken rule in file %s\n"
 -#~ msgstr "Óв»ÍêÕûµÄ¹æÔòÔÚÎļþ %s\n"
 +#~ msgstr "�в������Ĺ������ļ� %s\n"
  
  #~ msgid "(authfail) read error in %s\n"
  #~ msgstr "(authfail) ¶ÁÈ¡´íÎó%s\n"