]> git.pld-linux.org Git - packages/webalizer.git/blob - 24_gettext_generated.diff
- rel 2; add gettext back (from debian); someone could merge it to master
[packages/webalizer.git] / 24_gettext_generated.diff
1 From: Julien Viard de Galbert <julien@vdg.blogsite.org>
2 Subject: run script to complete gettext patch
3
4 This patch is generated by saving the files modified by running
5 the script 'lang_po.sh'.
6
7 Index: webalizer/dns_resolv.c
8 ===================================================================
9 --- webalizer.orig/dns_resolv.c 2011-01-08 20:59:53.000000000 +0100
10 +++ webalizer/dns_resolv.c      2011-01-08 20:59:58.000000000 +0100
11 @@ -199,7 +199,7 @@
12             DB_CREATE, 0644) != 0) )
13     {
14        /* Error: Unable to open DNS cache file <filename> */
15 -      if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nodb,dns_cache);
16 +      if (verbose) fprintf(stderr,"%s %s\n",_("Error: Unable to open DNS cache file"),dns_cache);
17        dns_cache=NULL;
18        dns_db=NULL;
19        return 0;                  /* disable cache */
20 @@ -212,7 +212,7 @@
21     if (fcntl(dns_fd,F_SETLK,&tmp_flock) < 0)    /* and barf if we cant lock */
22     {
23        /* Error: Unable to lock DNS cache file <filename> */
24 -      if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nolk,dns_cache);
25 +      if (verbose) fprintf(stderr,"%s %s\n",_("Error: Unable to lock DNS cache file"),dns_cache);
26        dns_db->close(dns_db, 0);
27        dns_cache=NULL;
28        dns_db=NULL;
29 @@ -299,7 +299,7 @@
30     if(!l_list)
31     {
32        /* No valid addresses found... */
33 -      if (verbose>1) printf("%s\n",msg_dns_none);
34 +      if (verbose>1) printf("%s\n",_("None to process"));
35        tmp_flock.l_type=F_UNLCK;
36        fcntl(dns_fd, F_SETLK, &tmp_flock);
37        dns_db->close(dns_db, 0);
38 @@ -316,12 +316,12 @@
39     if (time_me || (verbose>1))
40     {
41        if (verbose<2 && time_me) printf("DNS: ");
42 -      printf("%llu %s ",listEntries, msg_addresses);
43 +      printf("%llu %s ",listEntries, _("addresses"));
44  
45        /* total processing time in seconds */
46        temp_time = difftime(end_time,start_time);
47        if (temp_time==0) temp_time=1;
48 -      printf("%s %.0f %s", msg_in, temp_time, msg_seconds);
49 +      printf("%s %.0f %s", _("in"), temp_time, _("seconds"));
50  
51        /* calculate records per second */
52        if (temp_time)
53 @@ -774,7 +774,7 @@
54             DB_RDONLY, 0644) != 0) )
55     {
56        /* Error: Unable to open DNS cache file <filename> */
57 -      if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nodb,dns_cache);
58 +      if (verbose) fprintf(stderr,"%s %s\n",_("Error: Unable to open DNS cache file"),dns_cache);
59        return 0;                  /* disable cache */
60     }
61  
62 @@ -784,7 +784,7 @@
63     /* Get shared lock on cache file */
64     if (fcntl(dns_fd, F_SETLK, &tmp_flock) < 0)
65     {
66 -      if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nolk,dns_cache);
67 +      if (verbose) fprintf(stderr,"%s %s\n",_("Error: Unable to lock DNS cache file"),dns_cache);
68        dns_db->close(dns_db, 0);
69        return 0;
70     }
71 Index: webalizer/graphs.c
72 ===================================================================
73 --- webalizer.orig/graphs.c     2011-01-08 20:59:53.000000000 +0100
74 +++ webalizer/graphs.c  2011-01-08 20:59:58.000000000 +0100
75 @@ -141,68 +141,68 @@
76     if (graph_legend)
77     {
78        /* Kbytes Legend */
79 -      i = (strlen(msg_h_xfer)*6);
80 +      i = (strlen(_("kB F"))*6);
81        if (dump_inout == 0)
82        {
83           gdImageString(im,gdFontSmall,491-i,237,
84 -                    (unsigned char *)msg_h_xfer,dkgrey);
85 +                    (unsigned char *)_("kB F"),dkgrey);
86           gdImageString(im,gdFontSmall,490-i,236,
87 -                    (unsigned char *)msg_h_xfer,KBYTECOLOR);
88 +                    (unsigned char *)_("kB F"),KBYTECOLOR);
89        }
90        else
91        {
92 -      j = (strlen(msg_h_ixfer)*6);
93 -      k = (strlen(msg_h_oxfer)*6);
94 +      j = (strlen(_("kB In"))*6);
95 +      k = (strlen(_("kB Out"))*6);
96        gdImageString(im,gdFontSmall,491-i-j-k-24,237,
97 -                    (unsigned char *)msg_h_xfer,dkgrey);
98 +                    (unsigned char *)_("kB F"),dkgrey);
99        gdImageString(im,gdFontSmall,490-i-j-k-24,236,
100 -                    (unsigned char *)msg_h_xfer,KBYTECOLOR);
101 +                    (unsigned char *)_("kB F"),KBYTECOLOR);
102        gdImageString(im,gdFontSmall,491-k-j-21,237,"/",dkgrey);
103        gdImageString(im,gdFontSmall,490-k-j-21,236,"/",black);
104        gdImageString(im,gdFontSmall,491-k-j-12,237,
105 -                    (unsigned char *)msg_h_ixfer,dkgrey);
106 +                    (unsigned char *)_("kB In"),dkgrey);
107        gdImageString(im,gdFontSmall,490-k-j-12,236,
108 -                    (unsigned char *)msg_h_ixfer,IKBYTECOLOR);
109 +                    (unsigned char *)_("kB In"),IKBYTECOLOR);
110        gdImageString(im,gdFontSmall,491-k-9,237,"/",dkgrey);
111        gdImageString(im,gdFontSmall,490-k-9,236,"/",black);
112        gdImageString(im,gdFontSmall,491-k,237,
113 -                    (unsigned char *)msg_h_oxfer,dkgrey);
114 +                    (unsigned char *)_("kB Out"),dkgrey);
115        gdImageString(im,gdFontSmall,490-k,236,
116 -                    (unsigned char *)msg_h_oxfer,OKBYTECOLOR);
117 +                    (unsigned char *)_("kB Out"),OKBYTECOLOR);
118        }
119        /* Sites/Visits Legend */
120 -      i = (strlen(msg_h_visits)*6);
121 -      j = (strlen(msg_h_sites)*6);
122 +      i = (strlen(_("Visits"))*6);
123 +      j = (strlen(_("Sites"))*6);
124        gdImageString(im,gdFontSmall,491-i-j-12,11,
125 -                    (unsigned char *)msg_h_visits,dkgrey);
126 +                    (unsigned char *)_("Visits"),dkgrey);
127        gdImageString(im,gdFontSmall,490-i-j-12,10,
128 -                    (unsigned char *)msg_h_visits,VISITCOLOR);
129 +                    (unsigned char *)_("Visits"),VISITCOLOR);
130        gdImageString(im,gdFontSmall,491-j-9,11,(unsigned char *)"/",dkgrey);
131        gdImageString(im,gdFontSmall,490-j-9,10,(unsigned char *)"/",black);
132        gdImageString(im,gdFontSmall,491-j,11,
133 -                    (unsigned char *)msg_h_sites,dkgrey);
134 +                    (unsigned char *)_("Sites"),dkgrey);
135        gdImageString(im,gdFontSmall,490-j,10,
136 -                    (unsigned char *)msg_h_sites,SITECOLOR);
137 +                    (unsigned char *)_("Sites"),SITECOLOR);
138  
139        /* Hits/Files/Pages Legend */
140 -      i = (strlen(msg_h_pages)*6);
141 -      j = (strlen(msg_h_files)*6);
142 +      i = (strlen(_("Pages"))*6);
143 +      j = (strlen(_("Files"))*6);
144        gdImageStringUp(im,gdFontSmall,6,231,
145 -                      (unsigned char *)msg_h_pages,dkgrey);
146 +                      (unsigned char *)_("Pages"),dkgrey);
147        gdImageStringUp(im,gdFontSmall,5,230,
148 -                      (unsigned char *)msg_h_pages,PAGECOLOR);
149 +                      (unsigned char *)_("Pages"),PAGECOLOR);
150        gdImageStringUp(im,gdFontSmall,6,231-i-3,(unsigned char *)"/",dkgrey);
151        gdImageStringUp(im,gdFontSmall,5,230-i-3,(unsigned char *)"/",black);
152        gdImageStringUp(im,gdFontSmall,6,231-i-12,
153 -                      (unsigned char *)msg_h_files,dkgrey);
154 +                      (unsigned char *)_("Files"),dkgrey);
155        gdImageStringUp(im,gdFontSmall,5,230-i-12,
156 -                      (unsigned char *)msg_h_files,FILECOLOR);
157 +                      (unsigned char *)_("Files"),FILECOLOR);
158        gdImageStringUp(im,gdFontSmall,6,231-i-j-15,(unsigned char *)"/",dkgrey);
159        gdImageStringUp(im,gdFontSmall,5,230-i-j-15,(unsigned char *)"/",black);
160        gdImageStringUp(im,gdFontSmall,6,231-i-j-24,
161 -                      (unsigned char *)msg_h_hits,dkgrey);
162 +                      (unsigned char *)_("Hits"),dkgrey);
163        gdImageStringUp(im,gdFontSmall,5,230-i-j-24,
164 -                      (unsigned char *)msg_h_hits,HITCOLOR);
165 +                      (unsigned char *)_("Hits"),HITCOLOR);
166     }
167  
168     /* Now draw data areas */
169 @@ -402,7 +402,7 @@
170        if ( S_ISLNK(out_stat.st_mode) )
171        {
172           if (verbose)
173 -         fprintf(stderr,"%s %s (symlink)\n",msg_no_open,fname);
174 +         fprintf(stderr,"%s %s (symlink)\n",_("Error: Unable to open file"),fname);
175           return(EBADF);
176        }
177     }
178 @@ -498,60 +498,60 @@
179     {
180        /* Kbytes Legend */
181        gdImageStringUp(im,gdFontSmall,494,376,
182 -                      (unsigned char *)msg_h_xfer,dkgrey);
183 +                      (unsigned char *)_("kB F"),dkgrey);
184        gdImageStringUp(im,gdFontSmall,493,375,
185 -                      (unsigned char *)msg_h_xfer,KBYTECOLOR);
186 +                      (unsigned char *)_("kB F"),KBYTECOLOR);
187        if (dump_inout != 0)
188        {
189 -        i=(strlen(msg_h_xfer)*6);
190 -        j=(strlen(msg_h_ixfer)*6);
191 +        i=(strlen(_("kB F"))*6);
192 +        j=(strlen(_("kB In"))*6);
193          gdImageStringUp(im,gdFontSmall,494,376-i-3,"/",dkgrey);
194          gdImageStringUp(im,gdFontSmall,493,375-i-3,"/",black);
195          gdImageStringUp(im,gdFontSmall,494,376-i-12,
196 -                        (unsigned char *)msg_h_ixfer,dkgrey);
197 +                        (unsigned char *)_("kB In"),dkgrey);
198          gdImageStringUp(im,gdFontSmall,493,375-i-12,
199 -                        (unsigned char *)msg_h_ixfer,IKBYTECOLOR);
200 +                        (unsigned char *)_("kB In"),IKBYTECOLOR);
201          gdImageStringUp(im,gdFontSmall,494,376-i-j-15,"/",dkgrey);
202          gdImageStringUp(im,gdFontSmall,493,375-i-j-15,"/",black);
203          gdImageStringUp(im,gdFontSmall,494,376-i-j-24,
204 -                        (unsigned char *)msg_h_oxfer,dkgrey);
205 +                        (unsigned char *)_("kB Out"),dkgrey);
206          gdImageStringUp(im,gdFontSmall,493,375-i-j-24,
207 -                        (unsigned char *)msg_h_oxfer,OKBYTECOLOR);
208 +                        (unsigned char *)_("kB Out"),OKBYTECOLOR);
209        }
210  
211        /* Sites/Visits Legend */
212 -      i = (strlen(msg_h_sites)*6);
213 +      i = (strlen(_("Sites"))*6);
214        gdImageStringUp(im,gdFontSmall,494,256,
215 -                      (unsigned char *)msg_h_sites,dkgrey);
216 +                      (unsigned char *)_("Sites"),dkgrey);
217        gdImageStringUp(im,gdFontSmall,493,255,
218 -                      (unsigned char *)msg_h_sites,SITECOLOR);
219 +                      (unsigned char *)_("Sites"),SITECOLOR);
220        gdImageStringUp(im,gdFontSmall,494,256-i-3,(unsigned char *)"/",dkgrey);
221        gdImageStringUp(im,gdFontSmall,493,255-i-3,(unsigned char *)"/",black);
222        gdImageStringUp(im,gdFontSmall,494,256-i-12,
223 -                      (unsigned char *)msg_h_visits,dkgrey);
224 +                      (unsigned char *)_("Visits"),dkgrey);
225        gdImageStringUp(im,gdFontSmall,493,255-i-12,
226 -                      (unsigned char *)msg_h_visits,VISITCOLOR);
227 +                      (unsigned char *)_("Visits"),VISITCOLOR);
228  
229        /* Pages/Files/Hits Legend */
230 -      s = ( i=(strlen(msg_h_pages)*6) )+
231 -          ( j=(strlen(msg_h_files)*6) )+
232 -          ( strlen(msg_h_hits)*6 )+ 52;
233 +      s = ( i=(strlen(_("Pages"))*6) )+
234 +          ( j=(strlen(_("Files"))*6) )+
235 +          ( strlen(_("Hits"))*6 )+ 52;
236        gdImageStringUp(im,gdFontSmall,494,s,
237 -                      (unsigned char *)msg_h_pages,dkgrey);
238 +                      (unsigned char *)_("Pages"),dkgrey);
239        gdImageStringUp(im,gdFontSmall,493,s-1,
240 -                      (unsigned char *)msg_h_pages,PAGECOLOR);
241 +                      (unsigned char *)_("Pages"),PAGECOLOR);
242        gdImageStringUp(im,gdFontSmall,494,s-i-3,(unsigned char *)"/",dkgrey);
243        gdImageStringUp(im,gdFontSmall,493,s-i-4,(unsigned char *)"/",black);
244        gdImageStringUp(im,gdFontSmall,494,s-i-12,
245 -                      (unsigned char *)msg_h_files,dkgrey);
246 +                      (unsigned char *)_("Files"),dkgrey);
247        gdImageStringUp(im,gdFontSmall,493,s-i-13,
248 -                      (unsigned char *)msg_h_files,FILECOLOR);
249 +                      (unsigned char *)_("Files"),FILECOLOR);
250        gdImageStringUp(im,gdFontSmall,494,s-i-j-15,(unsigned char *)"/",dkgrey);
251        gdImageStringUp(im,gdFontSmall,493,s-i-j-16,(unsigned char *)"/",black);
252        gdImageStringUp(im,gdFontSmall,494,s-i-j-24,
253 -                      (unsigned char *)msg_h_hits,dkgrey);
254 +                      (unsigned char *)_("Hits"),dkgrey);
255        gdImageStringUp(im,gdFontSmall,493,s-i-j-25,
256 -                      (unsigned char *)msg_h_hits,HITCOLOR);
257 +                      (unsigned char *)_("Hits"),HITCOLOR);
258     }
259  
260     /* data1 */
261 @@ -696,7 +696,7 @@
262        if ( S_ISLNK(out_stat.st_mode) )
263        {
264           if (verbose)
265 -         fprintf(stderr,"%s %s (symlink)\n",msg_no_open,fname);
266 +         fprintf(stderr,"%s %s (symlink)\n",_("Error: Unable to open file"),fname);
267           return(EBADF);
268        }
269     }
270 @@ -758,25 +758,25 @@
271     if (graph_legend)                          /* print color coded legends? */
272     {
273        /* Pages/Files/Hits Legend */
274 -      s = ( i=(strlen(msg_h_pages)*6) )+
275 -          ( j=(strlen(msg_h_files)*6) )+
276 -          ( strlen(msg_h_hits)*6 )+ 52;
277 +      s = ( i=(strlen(_("Pages"))*6) )+
278 +          ( j=(strlen(_("Files"))*6) )+
279 +          ( strlen(_("Hits"))*6 )+ 52;
280        gdImageStringUp(im,gdFontSmall,494,s,
281 -                      (unsigned char *)msg_h_pages,dkgrey);
282 +                      (unsigned char *)_("Pages"),dkgrey);
283        gdImageStringUp(im,gdFontSmall,493,s-1,
284 -                      (unsigned char *)msg_h_pages,PAGECOLOR);
285 +                      (unsigned char *)_("Pages"),PAGECOLOR);
286        gdImageStringUp(im,gdFontSmall,494,s-i-3,(unsigned char *)"/",dkgrey);
287        gdImageStringUp(im,gdFontSmall,493,s-i-4,(unsigned char *)"/",black);
288        gdImageStringUp(im,gdFontSmall,494,s-i-12,
289 -                      (unsigned char *)msg_h_files,dkgrey);
290 +                      (unsigned char *)_("Files"),dkgrey);
291        gdImageStringUp(im,gdFontSmall,493,s-i-13,
292 -                      (unsigned char *)msg_h_files,FILECOLOR);
293 +                      (unsigned char *)_("Files"),FILECOLOR);
294        gdImageStringUp(im,gdFontSmall,494,s-i-j-15,(unsigned char *)"/",dkgrey);
295        gdImageStringUp(im,gdFontSmall,493,s-i-j-16,(unsigned char *)"/",black);
296        gdImageStringUp(im,gdFontSmall,494,s-i-j-24,
297 -                      (unsigned char *)msg_h_hits,dkgrey);
298 +                      (unsigned char *)_("Hits"),dkgrey);
299        gdImageStringUp(im,gdFontSmall,493,s-i-j-25,
300 -                      (unsigned char *)msg_h_hits,HITCOLOR);
301 +                      (unsigned char *)_("Hits"),HITCOLOR);
302     }
303  
304     /* data1 */
305 @@ -822,7 +822,7 @@
306        if ( S_ISLNK(out_stat.st_mode) )
307        {
308           if (verbose)
309 -         fprintf(stderr,"%s %s (symlink)\n",msg_no_open,fname);
310 +         fprintf(stderr,"%s %s (symlink)\n",_("Error: Unable to open file"),fname);
311           return(EBADF);
312        }
313     }
314 @@ -913,7 +913,7 @@
315  
316        gdImageFill(im, gdata.mx, gdata.my, white);
317        snprintf(buffer,sizeof(buffer),"%s (%d%%)",
318 -           msg_h_other,100-(int)(s_arc*100));
319 +           _("Other"),100-(int)(s_arc*100));
320        x=480-(strlen(buffer)*7);
321        gdImageString(im,gdFontMediumBold, x+1, y+1,
322                      (unsigned char *)buffer, black);
323 @@ -928,7 +928,7 @@
324        if ( S_ISLNK(out_stat.st_mode) )
325        {
326           if (verbose)
327 -         fprintf(stderr,"%s %s (symlink)\n",msg_no_open,fname);
328 +         fprintf(stderr,"%s %s (symlink)\n",_("Error: Unable to open file"),fname);
329           return(EBADF);
330        }
331     }
332 Index: webalizer/hashtab.c
333 ===================================================================
334 --- webalizer.orig/hashtab.c    2011-01-08 20:59:30.000000000 +0100
335 +++ webalizer/hashtab.c 2011-01-08 20:59:58.000000000 +0100
336 @@ -119,7 +119,7 @@
337     {
338        if (verbose)
339        {
340 -         fprintf(stderr,"[new_hnode] %s (%d)",msg_big_one,strlen(str));
341 +         fprintf(stderr,"[new_hnode] %s (%d)",_("Warning: String exceeds storage size"),strlen(str));
342           if (debug_mode)
343              fprintf(stderr,":\n--> %s",str);
344           fprintf(stderr,"\n");
345 @@ -338,7 +338,7 @@
346     {
347        if (verbose)
348        {
349 -         fprintf(stderr,"[new_unode] %s (%d)",msg_big_one,strlen(str));
350 +         fprintf(stderr,"[new_unode] %s (%d)",_("Warning: String exceeds storage size"),strlen(str));
351           if (debug_mode)
352              fprintf(stderr,":\n--> %s",str);
353           fprintf(stderr,"\n");
354 @@ -474,7 +474,7 @@
355     {
356        if (verbose)
357        {
358 -         fprintf(stderr,"[new_rnode] %s (%d)",msg_big_one,strlen(str));
359 +         fprintf(stderr,"[new_rnode] %s (%d)",_("Warning: String exceeds storage size"),strlen(str));
360           if (debug_mode)
361              fprintf(stderr,":\n--> %s",str);
362           fprintf(stderr,"\n");
363 @@ -600,7 +600,7 @@
364     {
365        if (verbose)
366        {
367 -         fprintf(stderr,"[new_anode] %s (%d)",msg_big_one,strlen(str));
368 +         fprintf(stderr,"[new_anode] %s (%d)",_("Warning: String exceeds storage size"),strlen(str));
369           if (debug_mode)
370              fprintf(stderr,":\n--> %s",str);
371           fprintf(stderr,"\n");
372 @@ -719,7 +719,7 @@
373     {
374        if (verbose)
375        {
376 -         fprintf(stderr,"[new_snode] %s (%d)",msg_big_one,strlen(str));
377 +         fprintf(stderr,"[new_snode] %s (%d)",_("Warning: String exceeds storage size"),strlen(str));
378           if (debug_mode)
379              fprintf(stderr,":\n--> %s",str);
380           fprintf(stderr,"\n");
381 @@ -826,7 +826,7 @@
382     {
383        if (verbose)
384        {
385 -         fprintf(stderr,"[new_inode] %s (%d)",msg_big_one,strlen(str));
386 +         fprintf(stderr,"[new_inode] %s (%d)",_("Warning: String exceeds storage size"),strlen(str));
387           if (debug_mode)
388              fprintf(stderr,":\n--> %s",str);
389           fprintf(stderr,"\n");
390 @@ -1006,7 +1006,7 @@
391     {
392        if (verbose)
393        {
394 -         fprintf(stderr,"[new_dnode] %s (%d)",msg_big_one,strlen(str));
395 +         fprintf(stderr,"[new_dnode] %s (%d)",_("Warning: String exceeds storage size"),strlen(str));
396           if (debug_mode)
397              fprintf(stderr,":\n--> %s",str);
398           fprintf(stderr,"\n");
399 Index: webalizer/linklist.c
400 ===================================================================
401 --- webalizer.orig/linklist.c   2011-01-08 20:36:44.000000000 +0100
402 +++ webalizer/linklist.c        2011-01-08 20:59:58.000000000 +0100
403 @@ -106,7 +106,7 @@
404     if (sizeof(newptr->string) < strlen(str))
405     {
406        if (verbose)
407 -    fprintf(stderr,"[new_nlist] %s\n",msg_big_one);
408 +    fprintf(stderr,"[new_nlist] %s\n",_("Warning: String exceeds storage size"));
409     }
410     if (( newptr = malloc(sizeof(struct nlist))) != NULL)
411      {strncpy(newptr->string, str, sizeof(newptr->string));newptr->next=NULL;}
412 @@ -163,7 +163,7 @@
413         sizeof(newptr->name) < strlen(name))
414     {
415        if (verbose)
416 -       fprintf(stderr,"[new_glist] %s\n",msg_big_one);
417 +       fprintf(stderr,"[new_glist] %s\n",_("Warning: String exceeds storage size"));
418     }
419     if (( newptr = malloc(sizeof(struct glist))) != NULL)
420       {
421 Index: webalizer/output.c
422 ===================================================================
423 --- webalizer.orig/output.c     2011-01-08 20:59:53.000000000 +0100
424 +++ webalizer/output.c  2011-01-08 20:59:58.000000000 +0100
425 @@ -189,9 +189,9 @@
426     fprintf(out_fp,"<!--                                          -->\n");
427     fprintf(out_fp,"<!-- *** Generated: %s *** -->\n\n",cur_time());
428  
429 -   fprintf(out_fp,"<HTML lang=\"%s\">\n<HEAD>\n",langcode);
430 +   fprintf(out_fp,"<HTML lang=\"%s\">\n<HEAD>\n",_("en"));
431     fprintf(out_fp," <TITLE>%s %s - %s</TITLE>\n",
432 -                  report_title, hname, (period)?period:msg_main_per);
433 +                  report_title, hname, (period)?period:_("Summary by Month"));
434     lptr=html_head;
435     while (lptr!=NULL)
436     {
437 @@ -215,10 +215,10 @@
438     }
439     fprintf(out_fp,"<H2>%s %s</H2>\n",report_title, hname);
440     if (period)
441 -      fprintf(out_fp,"<SMALL><STRONG>\n%s: %s<BR>\n",msg_hhdr_sp,period);
442 +      fprintf(out_fp,"<SMALL><STRONG>\n%s: %s<BR>\n",_("Summary Period"),period);
443     else
444 -      fprintf(out_fp,"<SMALL><STRONG>\n%s<BR>\n",msg_main_per);
445 -   fprintf(out_fp,"%s %s<BR>\n</STRONG></SMALL>\n",msg_hhdr_gt,cur_time());
446 +      fprintf(out_fp,"<SMALL><STRONG>\n%s<BR>\n",_("Summary by Month"));
447 +   fprintf(out_fp,"%s %s<BR>\n</STRONG></SMALL>\n",_("Generated"),cur_time());
448     lptr=html_post;
449     while (lptr!=NULL)
450     {
451 @@ -289,7 +289,7 @@
452     char htitle[256];
453  
454     if (verbose>1)
455 -      printf("%s %s %d\n",msg_gen_rpt, Q_(l_month[cur_month-1]), cur_year); 
456 +      printf("%s %s %d\n",_("Generating report for"), Q_(l_month[cur_month-1]), cur_year); 
457  
458     /* fill in filenames */
459     snprintf(html_fname,sizeof(html_fname),"usage_%04d%02d.%s",
460 @@ -301,7 +301,7 @@
461     if (daily_graph)
462     {
463        snprintf(dtitle,sizeof(dtitle),"%s %s %d",
464 -               msg_hmth_du,Q_(l_month[cur_month-1]),cur_year);
465 +               _("Daily usage for"),Q_(l_month[cur_month-1]),cur_year);
466        month_graph6 (  png1_fname,          /* filename          */
467                        dtitle,              /* graph title       */
468                        cur_month,           /* graph month       */
469 @@ -319,7 +319,7 @@
470     if (hourly_graph)
471     {
472        snprintf(htitle,sizeof(htitle),"%s %s %d",
473 -               msg_hmth_hu,Q_(l_month[cur_month-1]),cur_year);
474 +               _("Hourly usage for"),Q_(l_month[cur_month-1]),cur_year);
475        day_graph3(    png2_fname,
476                       htitle,
477                       th_hit,
478 @@ -371,7 +371,7 @@
479        {qsort(u_array,a_ctr,sizeof(UNODEPTR),qs_url_cmpx); top_entry_table(1);}
480       free(u_array);
481      }
482 -    else if (verbose) fprintf(stderr,"%s [u_array]\n",msg_nomem_tu); /* err */
483 +    else if (verbose) fprintf(stderr,"%s [u_array]\n",_("Can't allocate enough memory, Top URLs disabled!")); /* err */
484     }
485  
486     /* do hostname (sites) related stuff here, sorting appropriately...      */
487 @@ -393,7 +393,7 @@
488       }
489       free(h_array);
490      }
491 -    else if (verbose) fprintf(stderr,"%s [h_array]\n",msg_nomem_ts); /* err */
492 +    else if (verbose) fprintf(stderr,"%s [h_array]\n",_("Can't allocate enough memory, Top Sites disabled!")); /* err */
493     }
494  
495     /* do referrer related stuff here, sorting appropriately...              */
496 @@ -410,7 +410,7 @@
497       }
498       free(r_array);
499      }
500 -    else if (verbose) fprintf(stderr,"%s [r_array]\n",msg_nomem_tr); /* err */
501 +    else if (verbose) fprintf(stderr,"%s [r_array]\n",_("Can't allocate enough memory, Top Referrers disabled!")); /* err */
502     }
503  
504     /* do search string related stuff, sorting appropriately...              */
505 @@ -427,7 +427,7 @@
506       }
507       free(s_array);
508      }
509 -    else if (verbose) fprintf(stderr,"%s [s_array]\n",msg_nomem_tsr);/* err */
510 +    else if (verbose) fprintf(stderr,"%s [s_array]\n",_("Can't allocate enough memory, Top Search Strings disabled!"));/* err */
511     }
512  
513     /* do ident (username) related stuff here, sorting appropriately...      */
514 @@ -444,7 +444,7 @@
515       }
516       free(i_array);
517      }
518 -    else if (verbose) fprintf(stderr,"%s [i_array]\n",msg_nomem_ti); /* err */
519 +    else if (verbose) fprintf(stderr,"%s [i_array]\n",_("Can't allocate enough memory, Top Usernames disabled!")); /* err */
520     }
521  
522     /* do user agent related stuff here, sorting appropriately...            */
523 @@ -461,7 +461,7 @@
524       }
525       free(a_array);
526      }
527 -    else if (verbose) fprintf(stderr,"%s [a_array]\n",msg_nomem_ta); /* err */
528 +    else if (verbose) fprintf(stderr,"%s [a_array]\n",_("Can't allocate enough memory, Top User Agents disabled!")); /* err */
529     }
530  
531     if (ntop_ctrys ) top_ctry_table();     /* top countries table            */
532 @@ -479,27 +479,27 @@
533  {
534     fprintf(out_fp,"<SMALL>\n");
535     if (daily_stats || daily_graph)
536 -      fprintf(out_fp,"<A HREF=\"#DAYSTATS\">[%s]</A>\n",msg_hlnk_ds);
537 +      fprintf(out_fp,"<A HREF=\"#DAYSTATS\">[%s]</A>\n",_("Daily Statistics"));
538     if (hourly_stats || hourly_graph)
539 -      fprintf(out_fp,"<A HREF=\"#HOURSTATS\">[%s]</A>\n",msg_hlnk_hs);
540 +      fprintf(out_fp,"<A HREF=\"#HOURSTATS\">[%s]</A>\n",_("Hourly Statistics"));
541     if (ntop_urls || ntop_urlsK)
542 -      fprintf(out_fp,"<A HREF=\"#TOPURLS\">[%s]</A>\n",msg_hlnk_u);
543 +      fprintf(out_fp,"<A HREF=\"#TOPURLS\">[%s]</A>\n",_("URLs"));
544     if (ntop_entry)
545 -      fprintf(out_fp,"<A HREF=\"#TOPENTRY\">[%s]</A>\n",msg_hlnk_en);
546 +      fprintf(out_fp,"<A HREF=\"#TOPENTRY\">[%s]</A>\n",_("Entry"));
547     if (ntop_exit)
548 -      fprintf(out_fp,"<A HREF=\"#TOPEXIT\">[%s]</A>\n",msg_hlnk_ex);
549 +      fprintf(out_fp,"<A HREF=\"#TOPEXIT\">[%s]</A>\n",_("Exit"));
550     if (ntop_sites || ntop_sitesK)
551 -      fprintf(out_fp,"<A HREF=\"#TOPSITES\">[%s]</A>\n",msg_hlnk_s);
552 +      fprintf(out_fp,"<A HREF=\"#TOPSITES\">[%s]</A>\n",_("Sites"));
553     if (ntop_refs && t_ref)
554 -      fprintf(out_fp,"<A HREF=\"#TOPREFS\">[%s]</A>\n",msg_hlnk_r);
555 +      fprintf(out_fp,"<A HREF=\"#TOPREFS\">[%s]</A>\n",_("Referrers"));
556     if (ntop_search)
557 -      fprintf(out_fp,"<A HREF=\"#TOPSEARCH\">[%s]</A>\n",msg_hlnk_sr);
558 +      fprintf(out_fp,"<A HREF=\"#TOPSEARCH\">[%s]</A>\n",_("Search"));
559     if (ntop_users && t_user)
560 -      fprintf(out_fp,"<A HREF=\"#TOPUSERS\">[%s]</A>\n",msg_hlnk_i);
561 +      fprintf(out_fp,"<A HREF=\"#TOPUSERS\">[%s]</A>\n",_("Users"));
562     if (ntop_agents && t_agent)
563 -      fprintf(out_fp,"<A HREF=\"#TOPAGENTS\">[%s]</A>\n",msg_hlnk_a);
564 +      fprintf(out_fp,"<A HREF=\"#TOPAGENTS\">[%s]</A>\n",_("Agents"));
565     if (ntop_ctrys)
566 -      fprintf(out_fp,"<A HREF=\"#TOPCTRYS\">[%s]</A>\n",msg_hlnk_c);
567 +      fprintf(out_fp,"<A HREF=\"#TOPCTRYS\">[%s]</A>\n",_("Countries"));
568     fprintf(out_fp,"</SMALL>\n<P>\n");
569  }
570  
571 @@ -529,36 +529,36 @@
572     fprintf(out_fp,"<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>\n");
573     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
574     fprintf(out_fp,"<TR><TH COLSPAN=3 ALIGN=center BGCOLOR=\"%s\">"           \
575 -      "%s %s %d</TH></TR>\n",GREY,msg_mtot_ms,Q_(l_month[cur_month-1]),cur_year);
576 +      "%s %s %d</TH></TR>\n",GREY,_("Monthly Statistics for"),Q_(l_month[cur_month-1]),cur_year);
577     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
578     /* Total Hits */
579     fprintf(out_fp,"<TR><TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n"     \
580        "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%llu</B>"              \
581 -      "</FONT></TD></TR>\n",msg_mtot_th,t_hit);
582 +      "</FONT></TD></TR>\n",_("Total Hits"),t_hit);
583     /* Total Files */
584     fprintf(out_fp,"<TR><TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n"     \
585        "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%llu</B>"              \
586 -      "</FONT></TD></TR>\n",msg_mtot_tf,t_file);
587 +      "</FONT></TD></TR>\n",_("Total Files"),t_file);
588     /* Total Pages */
589     fprintf(out_fp,"<TR><TD WIDTH=380><FONT SIZE=\"-1\">%s %s</FONT></TD>\n"  \
590        "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%llu</B>"              \
591 -      "</FONT></TD></TR>\n",msg_h_total, msg_h_pages, t_page);
592 +      "</FONT></TD></TR>\n",_("Total"), _("Pages"), t_page);
593     /* Total Visits */
594     fprintf(out_fp,"<TR><TD WIDTH=380><FONT SIZE=\"-1\">%s %s</FONT></TD>\n"  \
595        "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%llu</B>"              \
596 -      "</FONT></TD></TR>\n",msg_h_total, msg_h_visits, t_visit);
597 +      "</FONT></TD></TR>\n",_("Total"), _("Visits"), t_visit);
598     /* Total XFer */
599     fprintf(out_fp,"<TR><TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n"     \
600        "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%.0f</B>"              \
601 -      "</FONT></TD></TR>\n",msg_mtot_tx,t_xfer/1024);
602 +      "</FONT></TD></TR>\n",_("Total kB Files"),t_xfer/1024);
603     if (dump_inout != 0)
604     {
605        fprintf(out_fp,"<TR><TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n"     \
606          "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%.0f</B>"              \
607 -        "</FONT></TD></TR>\n",msg_mtot_ix,t_ixfer/1024);
608 +        "</FONT></TD></TR>\n",_("Total kB In"),t_ixfer/1024);
609        fprintf(out_fp,"<TR><TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n"     \
610          "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%.0f</B>"              \
611 -        "</FONT></TD></TR>\n",msg_mtot_ox,t_oxfer/1024);
612 +        "</FONT></TD></TR>\n",_("Total kB Out"),t_oxfer/1024);
613     }
614     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
615     /**********************************************/
616 @@ -566,30 +566,30 @@
617     fprintf(out_fp,"<TR>"                                                     \
618        "<TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n"                     \
619        "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%llu</B>"              \
620 -      "</FONT></TD></TR>\n",msg_mtot_us,t_site);
621 +      "</FONT></TD></TR>\n",_("Total Unique Sites"),t_site);
622     /* Unique URLs */
623     fprintf(out_fp,"<TR>"                                                     \
624        "<TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n"                     \
625        "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%llu</B>"              \
626 -      "</FONT></TD></TR>\n",msg_mtot_uu,t_url);
627 +      "</FONT></TD></TR>\n",_("Total Unique URLs"),t_url);
628     /* Unique Referrers */
629     if (t_ref != 0)
630     fprintf(out_fp,"<TR>"                                                     \
631        "<TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n"                     \
632        "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%llu</B>"              \
633 -      "</FONT></TD></TR>\n",msg_mtot_ur,t_ref);
634 +      "</FONT></TD></TR>\n",_("Total Unique Referrers"),t_ref);
635     /* Unique Usernames */
636     if (t_user != 0)
637     fprintf(out_fp,"<TR>"                                                     \
638        "<TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n"                     \
639        "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%llu</B>"              \
640 -      "</FONT></TD></TR>\n",msg_mtot_ui,t_user);
641 +      "</FONT></TD></TR>\n",_("Total Unique Usernames"),t_user);
642     /* Unique Agents */
643     if (t_agent != 0)
644     fprintf(out_fp,"<TR>"                                                     \
645        "<TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n"                     \
646        "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%llu</B>"              \
647 -      "</FONT></TD></TR>\n",msg_mtot_ua,t_agent);
648 +      "</FONT></TD></TR>\n",_("Total Unique User Agents"),t_agent);
649     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
650     /**********************************************/
651     /* Hourly/Daily avg/max totals */
652 @@ -599,50 +599,50 @@
653        "<FONT SIZE=-1>%s </FONT></TH>\n"                                      \
654        "<TH WIDTH=65 BGCOLOR=\"%s\" ALIGN=right>"                             \
655        "<FONT SIZE=-1>%s </FONT></TH></TR>\n",
656 -      GREY,GREY,GREY,msg_h_avg,GREY,msg_h_max);
657 +      GREY,GREY,GREY,_("Avg"),GREY,_("Max"));
658     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
659     /* Max/Avg Hits per Hour */
660     fprintf(out_fp,"<TR>"                                                     \
661        "<TD><FONT SIZE=\"-1\">%s</FONT></TD>\n"                               \
662        "<TD ALIGN=right WIDTH=65><FONT SIZE=\"-1\"><B>%llu</B></FONT></TD>\n" \
663        "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%llu</B>"                   \
664 -      "</FONT></TD></TR>\n",msg_mtot_mhh, t_hit/(24*days_in_month),mh_hit);
665 +      "</FONT></TD></TR>\n",_("Hits per Hour"), t_hit/(24*days_in_month),mh_hit);
666     /* Max/Avg Hits per Day */
667     fprintf(out_fp,"<TR>"                                                     \
668        "<TD><FONT SIZE=\"-1\">%s</FONT></TD>\n"                               \
669        "<TD ALIGN=right WIDTH=65><FONT SIZE=\"-1\"><B>%llu</B></FONT></TD>\n" \
670        "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%llu</B>"                   \
671 -      "</FONT></TD></TR>\n",msg_mtot_mhd, t_hit/days_in_month, max_hits);
672 +      "</FONT></TD></TR>\n",_("Hits per Day"), t_hit/days_in_month, max_hits);
673     /* Max/Avg Files per Day */
674     fprintf(out_fp,"<TR>"                                                     \
675        "<TD><FONT SIZE=\"-1\">%s</FONT></TD>\n"                               \
676        "<TD ALIGN=right WIDTH=65><FONT SIZE=\"-1\"><B>%llu</B></FONT></TD>\n" \
677        "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%llu</B>"                   \
678 -      "</FONT></TD></TR>\n",msg_mtot_mfd, t_file/days_in_month,max_files);
679 +      "</FONT></TD></TR>\n",_("Files per Day"), t_file/days_in_month,max_files);
680     /* Max/Avg Pages per Day */
681     fprintf(out_fp,"<TR>"                                                     \
682        "<TD><FONT SIZE=\"-1\">%s</FONT></TD>\n"                               \
683        "<TD ALIGN=right WIDTH=65><FONT SIZE=\"-1\"><B>%llu</B></FONT></TD>\n" \
684        "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%llu</B>"                   \
685 -      "</FONT></TD></TR>\n",msg_mtot_mpd, t_page/days_in_month,max_pages);
686 +      "</FONT></TD></TR>\n",_("Pages per Day"), t_page/days_in_month,max_pages);
687     /* Max/Avg Sites per Day */
688     fprintf(out_fp,"<TR>"                                                     \
689        "<TD><FONT SIZE=\"-1\">%s</FONT></TD>\n"                               \
690        "<TD ALIGN=right WIDTH=65><FONT SIZE=\"-1\"><B>%llu</B></FONT></TD>\n" \
691        "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%llu</B>"                   \
692 -      "</FONT></TD></TR>\n",msg_mtot_msd, t_site/days_in_month,max_sites);
693 +      "</FONT></TD></TR>\n",_("Sites per Day"), t_site/days_in_month,max_sites);
694     /* Max/Avg Visits per Day */
695     fprintf(out_fp,"<TR>"                                                     \
696        "<TD><FONT SIZE=\"-1\">%s</FONT></TD>\n"                               \
697        "<TD ALIGN=right WIDTH=65><FONT SIZE=\"-1\"><B>%llu</B></FONT></TD>\n" \
698        "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%llu</B>"                   \
699 -      "</FONT></TD></TR>\n",msg_mtot_mvd, t_visit/days_in_month,max_visits);
700 +      "</FONT></TD></TR>\n",_("Visits per Day"), t_visit/days_in_month,max_visits);
701     /* Max/Avg KBytes per Day */
702     fprintf(out_fp,"<TR>"                                                     \
703        "<TD><FONT SIZE=\"-1\">%s</FONT></TD>\n"                               \
704        "<TD ALIGN=right WIDTH=65><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
705        "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%.0f</B>"                   \
706 -      "</FONT></TD></TR>\n",msg_mtot_mkd,
707 +      "</FONT></TD></TR>\n",_("kB Files per Day"),
708        (t_xfer/1024)/days_in_month,max_xfer/1024);
709     if (dump_inout != 0)
710     {
711 @@ -650,20 +650,20 @@
712          "<TD><FONT SIZE=\"-1\">%s</FONT></TD>\n"                               \
713          "<TD ALIGN=right WIDTH=65><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
714          "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%.0f</B>"                   \
715 -        "</FONT></TD></TR>\n",msg_mtot_ikd,
716 +        "</FONT></TD></TR>\n",_("kB In per Day"),
717          (t_ixfer/1024)/days_in_month,max_ixfer/1024);
718        fprintf(out_fp,"<TR>"                                                     \
719          "<TD><FONT SIZE=\"-1\">%s</FONT></TD>\n"                               \
720          "<TD ALIGN=right WIDTH=65><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
721          "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%.0f</B>"                   \
722 -        "</FONT></TD></TR>\n",msg_mtot_okd,
723 +        "</FONT></TD></TR>\n",_("kB Out per Day"),
724          (t_oxfer/1024)/days_in_month,max_oxfer/1024);
725     }
726     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
727     /**********************************************/
728     /* response code totals */
729     fprintf(out_fp,"<TR><TH COLSPAN=3 ALIGN=center BGCOLOR=\"%s\">\n"         \
730 -           "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",GREY,msg_mtot_rc);
731 +           "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",GREY,_("Hits by Response Code"));
732     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
733     for (i=0;i<TOTAL_RC;i++)
734     {
735 @@ -694,7 +694,7 @@
736     /* Daily statistics for ... */
737     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" COLSPAN=%d ALIGN=center>"          \
738             "%s %s %d</TH></TR>\n",
739 -           GREY,(dump_inout==0)?13:17,msg_dtot_ds,Q_(l_month[cur_month-1]), cur_year);
740 +           GREY,(dump_inout==0)?13:17,_("Daily Statistics for"),Q_(l_month[cur_month-1]), cur_year);
741     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
742     fprintf(out_fp,"<TR><TH ALIGN=center BGCOLOR=\"%s\">"                     \
743                    "<FONT SIZE=\"-1\">%s</FONT></TH>\n"                       \
744 @@ -710,13 +710,13 @@
745                    "<FONT SIZE=\"-1\">%s</FONT></TH>\n"                       \
746                    "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>"               \
747                    "<FONT SIZE=\"-1\">%s</FONT></TH>",
748 -                  GREY,       msg_h_day,
749 -                  HITCOLOR,   msg_h_hits,
750 -                  FILECOLOR,  msg_h_files,
751 -                  PAGECOLOR,  msg_h_pages,
752 -                  VISITCOLOR, msg_h_visits,
753 -                  SITECOLOR,  msg_h_sites,
754 -                  KBYTECOLOR, msg_h_xfer);
755 +                  GREY,       _("Day"),
756 +                  HITCOLOR,   _("Hits"),
757 +                  FILECOLOR,  _("Files"),
758 +                  PAGECOLOR,  _("Pages"),
759 +                  VISITCOLOR, _("Visits"),
760 +                  SITECOLOR,  _("Sites"),
761 +                  KBYTECOLOR, _("kB F"));
762     if (dump_inout == 0)
763     {
764        fprintf(out_fp,"</TR>\n");
765 @@ -728,8 +728,8 @@
766                      "<FONT SIZE=\"-1\">%s</FONT></TH>\n"                    \
767                      "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>"            \
768                      "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",
769 -                    IKBYTECOLOR,  msg_h_ixfer,
770 -                    OKBYTECOLOR,   msg_h_oxfer);
771 +                    IKBYTECOLOR,  _("kB In"),
772 +                    OKBYTECOLOR,   _("kB Out"));
773     }
774     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
775  
776 @@ -807,7 +807,7 @@
777     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
778     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" COLSPAN=%d ALIGN=center>"\
779             "%s %s %d</TH></TR>\n",
780 -           GREY,(dump_inout==0)?13:19,msg_htot_hs,Q_(l_month[cur_month-1]), cur_year);
781 +           GREY,(dump_inout==0)?13:19,_("Hourly Statistics for"),Q_(l_month[cur_month-1]), cur_year);
782     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
783     fprintf(out_fp,"<TR><TH ALIGN=center ROWSPAN=2 BGCOLOR=\"%s\">" \
784                    "<FONT SIZE=\"-1\">%s</FONT></TH>\n"             \
785 @@ -819,11 +819,11 @@
786                    "<FONT SIZE=\"-1\">%s</FONT></TH>\n"             \
787                    "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=3>"     \
788                    "<FONT SIZE=\"-1\">%s</FONT></TH>",
789 -                  GREY,       msg_h_hour,
790 -                  HITCOLOR,   msg_h_hits,
791 -                  FILECOLOR,  msg_h_files,
792 -                  PAGECOLOR,  msg_h_pages,
793 -                  KBYTECOLOR, msg_h_xfer);
794 +                  GREY,       _("Hour"),
795 +                  HITCOLOR,   _("Hits"),
796 +                  FILECOLOR,  _("Files"),
797 +                  PAGECOLOR,  _("Pages"),
798 +                  KBYTECOLOR, _("kB F"));
799     if (dump_inout == 0)
800     {
801        fprintf(out_fp,"</TR>\n");
802 @@ -835,29 +835,29 @@
803                      "<FONT SIZE=\"-1\">%s</FONT></TH>\n"          \
804                      "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=3>"  \
805                      "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",
806 -                    IKBYTECOLOR,  msg_h_ixfer,
807 -                    OKBYTECOLOR,   msg_h_oxfer);
808 +                    IKBYTECOLOR,  _("kB In"),
809 +                    OKBYTECOLOR,   _("kB Out"));
810     }
811     fprintf(out_fp,"<TR><TH ALIGN=center BGCOLOR=\"%s\">"           \
812                    "<FONT SIZE=\"-2\">%s</FONT></TH>\n"             \
813                    "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>"     \
814                    "<FONT SIZE=\"-2\">%s</FONT></TH>\n",
815 -                  HITCOLOR, msg_h_avg, HITCOLOR, msg_h_total);
816 +                  HITCOLOR, _("Avg"), HITCOLOR, _("Total"));
817     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"               \
818                    "<FONT SIZE=\"-2\">%s</FONT></TH>\n"             \
819                    "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>"     \
820                    "<FONT SIZE=\"-2\">%s</FONT></TH>\n",
821 -                  FILECOLOR, msg_h_avg, FILECOLOR, msg_h_total);
822 +                  FILECOLOR, _("Avg"), FILECOLOR, _("Total"));
823     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"               \
824                    "<FONT SIZE=\"-2\">%s</FONT></TH>\n"             \
825                    "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>"     \
826                    "<FONT SIZE=\"-2\">%s</FONT></TH>\n",
827 -                  PAGECOLOR, msg_h_avg, PAGECOLOR, msg_h_total);
828 +                  PAGECOLOR, _("Avg"), PAGECOLOR, _("Total"));
829     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"               \
830                    "<FONT SIZE=\"-2\">%s</FONT></TH>\n"             \
831                    "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>"     \
832                    "<FONT SIZE=\"-2\">%s</FONT>",
833 -                  KBYTECOLOR, msg_h_avg, KBYTECOLOR, msg_h_total);
834 +                  KBYTECOLOR, _("Avg"), KBYTECOLOR, _("Total"));
835     if (dump_inout == 0)
836     {
837        fprintf(out_fp,"</TR>\n");
838 @@ -869,12 +869,12 @@
839                      "<FONT SIZE=\"-2\">%s</FONT></TH>\n"          \
840                      "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>"  \
841                      "<FONT SIZE=\"-2\">%s</FONT></TH>\n",
842 -                    IKBYTECOLOR, msg_h_avg, IKBYTECOLOR, msg_h_total);
843 +                    IKBYTECOLOR, _("Avg"), IKBYTECOLOR, _("Total"));
844        fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"            \
845                      "<FONT SIZE=\"-2\">%s</FONT></TH>\n"          \
846                      "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>"  \
847                      "<FONT SIZE=\"-2\">%s</FONT></TH></TR>\n",
848 -                    OKBYTECOLOR, msg_h_avg, OKBYTECOLOR, msg_h_total);
849 +                    OKBYTECOLOR, _("Avg"), OKBYTECOLOR, _("Total"));
850     }
851  
852     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
853 @@ -969,31 +969,31 @@
854     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
855     if (flag) fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=%d>" \
856             "%s %llu %s %llu %s %s %s</TH></TR>\n",
857 -           GREY,(dump_inout==0)?10:14, msg_top_top,tot_num,msg_top_of,
858 -           t_site,msg_top_s,msg_h_by,msg_h_xfer);
859 +           GREY,(dump_inout==0)?10:14, _("Top"),tot_num,_("of"),
860 +           t_site,_("Total Sites"),_("By"),_("kB F"));
861     else      fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=%d>" \
862             "%s %llu %s %llu %s</TH></TR>\n",
863 -           GREY,(dump_inout==0)?10:14,msg_top_top, tot_num, msg_top_of, t_site, msg_top_s);
864 +           GREY,(dump_inout==0)?10:14,_("Top"), tot_num, _("of"), t_site, _("Total Sites"));
865     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
866     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=center>"                    \
867            "<FONT SIZE=\"-1\">#</FONT></TH>\n",GREY);
868     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"              \
869 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",HITCOLOR,msg_h_hits);
870 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",HITCOLOR,_("Hits"));
871     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"              \
872 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",FILECOLOR,msg_h_files);
873 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",FILECOLOR,_("Files"));
874     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"              \
875 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,msg_h_xfer);
876 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,_("kB F"));
877     if (dump_inout != 0)
878     {
879        fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"           \
880 -            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",IKBYTECOLOR,msg_h_ixfer);
881 +            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",IKBYTECOLOR,_("kB In"));
882        fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"           \
883 -            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",OKBYTECOLOR,msg_h_oxfer);
884 +            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",OKBYTECOLOR,_("kB Out"));
885     }
886     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"              \
887 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",VISITCOLOR,msg_h_visits);
888 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",VISITCOLOR,_("Visits"));
889     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>"                        \
890 -          "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",MISCCOLOR,msg_h_hname);
891 +          "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",MISCCOLOR,_("Hostname"));
892     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
893  
894     pointer=h_array; i=0;
895 @@ -1057,7 +1057,7 @@
896              fprintf(out_fp,"<FONT SIZE=\"-1\">");
897              fprintf(out_fp,"<A HREF=\"./site_%04d%02d.%s\">",
898                      cur_year,cur_month,html_ext);
899 -            fprintf(out_fp,"%s</A></TD></TR>\n",msg_v_sites);
900 +            fprintf(out_fp,"%s</A></TD></TR>\n",_("View All Sites"));
901              if (flag)   /* do we need to sort? */
902                 qsort(h_array,a_ctr,sizeof(HNODEPTR),qs_site_cmph);
903           }
904 @@ -1085,18 +1085,18 @@
905     if ( (out_fp=open_out_file(site_fname))==NULL ) return 0;
906  
907     snprintf(buffer,sizeof(buffer),"%s %d - %s",
908 -            Q_(l_month[cur_month-1]),cur_year,msg_h_sites);
909 +            Q_(l_month[cur_month-1]),cur_year,_("Sites"));
910     write_html_head(buffer, out_fp);
911  
912     fprintf(out_fp,"<FONT SIZE=\"-1\"></CENTER><PRE>\n");
913  
914     fprintf(out_fp," %12s      %12s      %12s",
915 -           msg_h_hits, msg_h_files, msg_h_xfer);
916 +           _("Hits"), _("Files"), _("kB F"));
917     if (dump_inout != 0)
918     {
919 -      fprintf(out_fp,"      %12s      %12s", msg_h_ixfer, msg_h_oxfer);
920 +      fprintf(out_fp,"      %12s      %12s", _("kB In"), _("kB Out"));
921     }
922 -   fprintf(out_fp,"      %12s      %s\n", msg_h_visits, msg_h_hname);
923 +   fprintf(out_fp,"      %12s      %s\n", _("Visits"), _("Hostname"));
924     fprintf(out_fp,"----------------  ----------------  ----------------  ");
925     if (dump_inout != 0)
926     {
927 @@ -1201,32 +1201,32 @@
928     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
929     if (flag) fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=%d>"  \
930             "%s %llu %s %llu %s %s %s</TH></TR>\n",
931 -           GREY,(dump_inout==0)?6:10,msg_top_top,tot_num,msg_top_of,
932 -           t_url,msg_top_u,msg_h_by,msg_h_xfer);
933 +           GREY,(dump_inout==0)?6:10,_("Top"),tot_num,_("of"),
934 +           t_url,_("Total URLs"),_("By"),_("kB F"));
935     else fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=%d>"   \
936             "%s %llu %s %llu %s</TH></TR>\n",
937 -           GREY,(dump_inout==0)?6:10,msg_top_top,tot_num,msg_top_of,t_url,msg_top_u);
938 +           GREY,(dump_inout==0)?6:10,_("Top"),tot_num,_("of"),t_url,_("Total URLs"));
939     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
940     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=center>"                  \
941                    "<FONT SIZE=\"-1\">#</FONT></TH>\n",GREY);
942     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"            \
943                    "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
944 -                  HITCOLOR,msg_h_hits);
945 +                  HITCOLOR,_("Hits"));
946     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"            \
947                    "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
948 -                  KBYTECOLOR,msg_h_xfer);
949 +                  KBYTECOLOR,_("kB F"));
950     if (dump_inout!=0)
951     {
952        fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"         \
953                      "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
954 -                    IKBYTECOLOR,msg_h_ixfer);
955 +                    IKBYTECOLOR,_("kB In"));
956        fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"         \
957                      "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
958 -                    OKBYTECOLOR,msg_h_oxfer);
959 +                    OKBYTECOLOR,_("kB Out"));
960     }
961     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>"                      \
962                    "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",
963 -                  MISCCOLOR,msg_h_url);
964 +                  MISCCOLOR,_("URL"));
965     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
966  
967     pointer=u_array; i=0;
968 @@ -1316,7 +1316,7 @@
969              fprintf(out_fp,"<FONT SIZE=\"-1\">");
970              fprintf(out_fp,"<A HREF=\"./url_%04d%02d.%s\">",
971                      cur_year,cur_month,html_ext);
972 -            fprintf(out_fp,"%s</A></TD></TR>\n",msg_v_urls);
973 +            fprintf(out_fp,"%s</A></TD></TR>\n",_("View All URLs"));
974              if (flag)   /* do we need to sort first? */
975                 qsort(u_array,a_ctr,sizeof(UNODEPTR),qs_url_cmph);
976           }
977 @@ -1344,17 +1344,17 @@
978     if ( (out_fp=open_out_file(url_fname))==NULL ) return 0;
979  
980     snprintf(buffer,sizeof(buffer),"%s %d - %s",
981 -            Q_(l_month[cur_month-1]),cur_year,msg_h_url);
982 +            Q_(l_month[cur_month-1]),cur_year,_("URL"));
983     write_html_head(buffer, out_fp);
984  
985     fprintf(out_fp,"<FONT SIZE=\"-1\"></CENTER><PRE>\n");
986  
987 -   fprintf(out_fp," %12s      %12s", msg_h_hits,msg_h_xfer);
988 +   fprintf(out_fp," %12s      %12s", _("Hits"),_("kB F"));
989     if (dump_inout != 0)
990     {
991 -      fprintf(out_fp,"      %12s      %12s", msg_h_ixfer, msg_h_oxfer);
992 +      fprintf(out_fp,"      %12s      %12s", _("kB In"), _("kB Out"));
993     }
994 -   fprintf(out_fp,"      %s\n", msg_h_url);
995 +   fprintf(out_fp,"      %s\n", _("URL"));
996     fprintf(out_fp,"----------------  ----------------  ");
997     if (dump_inout != 0)
998     {
999 @@ -1461,21 +1461,21 @@
1000     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1001     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=6>"        \
1002             "%s %llu %s %llu %s</TH></TR>\n",
1003 -           GREY,msg_top_top,tot_num,msg_top_of,
1004 -           (flag)?u_exit:u_entry,(flag)?msg_top_ex:msg_top_en);
1005 +           GREY,_("Top"),tot_num,_("of"),
1006 +           (flag)?u_exit:u_entry,(flag)?_("Total Exit Pages"):_("Total Entry Pages"));
1007     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1008     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=center>"                  \
1009                    "<FONT SIZE=\"-1\">#</FONT></TH>\n",
1010                    GREY);
1011     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"            \
1012                    "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
1013 -                  HITCOLOR,msg_h_hits);
1014 +                  HITCOLOR,_("Hits"));
1015     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"            \
1016                    "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
1017 -                  VISITCOLOR,msg_h_visits);
1018 +                  VISITCOLOR,_("Visits"));
1019     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>"                      \
1020                    "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",
1021 -                  MISCCOLOR,msg_h_url);
1022 +                  MISCCOLOR,_("URL"));
1023     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1024  
1025     pointer=u_array; i=0;
1026 @@ -1557,17 +1557,17 @@
1027     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1028     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=4>"         \
1029             "%s %llu %s %llu %s</TH></TR>\n",
1030 -           GREY, msg_top_top, tot_num, msg_top_of, t_ref, msg_top_r);
1031 +           GREY, _("Top"), tot_num, _("of"), t_ref, _("Total Referrers"));
1032     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1033     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=center>"                   \
1034            "<FONT SIZE=\"-1\">#</FONT></TH>\n",
1035            GREY);
1036     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"             \
1037            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
1038 -          HITCOLOR,msg_h_hits);
1039 +          HITCOLOR,_("Hits"));
1040     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>"                       \
1041            "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",
1042 -          MISCCOLOR,msg_h_ref);
1043 +          MISCCOLOR,_("Referrer"));
1044     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1045  
1046     pointer=r_array; i=0;
1047 @@ -1619,7 +1619,7 @@
1048           fprintf(out_fp,"<FONT SIZE=\"-1\">");
1049           fprintf(out_fp,"<A HREF=\"./ref_%04d%02d.%s\">",
1050                   cur_year,cur_month,html_ext);
1051 -         fprintf(out_fp,"%s</A></TD></TR>\n",msg_v_refs);
1052 +         fprintf(out_fp,"%s</A></TD></TR>\n",_("View All Referrers"));
1053        }
1054     }
1055     fprintf(out_fp,"</TABLE>\n<P>\n");
1056 @@ -1644,12 +1644,12 @@
1057     if ( (out_fp=open_out_file(ref_fname))==NULL ) return 0;
1058  
1059     snprintf(buffer,sizeof(buffer),"%s %d - %s",
1060 -            Q_(l_month[cur_month-1]),cur_year,msg_h_ref);
1061 +            Q_(l_month[cur_month-1]),cur_year,_("Referrer"));
1062     write_html_head(buffer, out_fp);
1063  
1064     fprintf(out_fp,"<FONT SIZE=\"-1\"></CENTER><PRE>\n");
1065  
1066 -   fprintf(out_fp," %12s      %s\n",msg_h_hits,msg_h_ref);
1067 +   fprintf(out_fp," %12s      %s\n",_("Hits"),_("Referrer"));
1068     fprintf(out_fp,"----------------  --------------------\n\n");
1069  
1070     /* do groups first (if any) */
1071 @@ -1722,17 +1722,17 @@
1072     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1073     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=4>"        \
1074            "%s %llu %s %llu %s</TH></TR>\n",
1075 -          GREY, msg_top_top, tot_num, msg_top_of, t_agent, msg_top_a);
1076 +          GREY, _("Top"), tot_num, _("of"), t_agent, _("Total User Agents"));
1077     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1078     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=center>"                  \
1079            "<FONT SIZE=\"-1\">#</FONT></TH>\n",
1080            GREY);
1081     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"            \
1082            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
1083 -          HITCOLOR,msg_h_hits);
1084 +          HITCOLOR,_("Hits"));
1085     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>"                      \
1086            "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",
1087 -          MISCCOLOR,msg_h_agent);
1088 +          MISCCOLOR,_("User Agent"));
1089     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1090  
1091     pointer=a_array; i=0;
1092 @@ -1773,7 +1773,7 @@
1093           fprintf(out_fp,"<FONT SIZE=\"-1\">");
1094           fprintf(out_fp,"<A HREF=\"./agent_%04d%02d.%s\">",
1095                   cur_year,cur_month,html_ext);
1096 -         fprintf(out_fp,"%s</A></TD></TR>\n",msg_v_agents);
1097 +         fprintf(out_fp,"%s</A></TD></TR>\n",_("View All User Agents"));
1098        }
1099     }
1100     fprintf(out_fp,"</TABLE>\n<P>\n");
1101 @@ -1798,12 +1798,12 @@
1102     if ( (out_fp=open_out_file(agent_fname))==NULL ) return 0;
1103  
1104     snprintf(buffer,sizeof(buffer),"%s %d - %s",
1105 -            Q_(l_month[cur_month-1]),cur_year,msg_h_agent);
1106 +            Q_(l_month[cur_month-1]),cur_year,_("User Agent"));
1107     write_html_head(buffer, out_fp);
1108  
1109     fprintf(out_fp,"<FONT SIZE=\"-1\"></CENTER><PRE>\n");
1110  
1111 -   fprintf(out_fp," %12s      %s\n",msg_h_hits,msg_h_agent);
1112 +   fprintf(out_fp," %12s      %s\n",_("Hits"),_("User Agent"));
1113     fprintf(out_fp,"----------------  ----------------------\n\n");
1114  
1115     /* do groups first (if any) */
1116 @@ -1869,17 +1869,17 @@
1117     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1118     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=4>"        \
1119            "%s %llu %s %llu %s</TH></TR>\n",
1120 -          GREY, msg_top_top, tot_num, msg_top_of, a_ctr, msg_top_sr);
1121 +          GREY, _("Top"), tot_num, _("of"), a_ctr, _("Total Search Strings"));
1122     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1123     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=center>"                  \
1124            "<FONT SIZE=\"-1\">#</FONT></TH>\n",
1125            GREY);
1126     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"            \
1127            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
1128 -          HITCOLOR,msg_h_hits);
1129 +          HITCOLOR,_("Hits"));
1130     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>"                      \
1131            "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",
1132 -          MISCCOLOR,msg_h_search);
1133 +          MISCCOLOR,_("Search String"));
1134     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1135  
1136     pointer=s_array; i=0;
1137 @@ -1908,7 +1908,7 @@
1138           fprintf(out_fp,"<FONT SIZE=\"-1\">");
1139           fprintf(out_fp,"<A HREF=\"./search_%04d%02d.%s\">",
1140                   cur_year,cur_month,html_ext);
1141 -         fprintf(out_fp,"%s</A></TD></TR>\n",msg_v_search);
1142 +         fprintf(out_fp,"%s</A></TD></TR>\n",_("View All Search Strings"));
1143        }
1144     }
1145     fprintf(out_fp,"</TABLE>\n<P>\n");
1146 @@ -1934,12 +1934,12 @@
1147     if ( (out_fp=open_out_file(search_fname))==NULL ) return 0;
1148  
1149     snprintf(buffer,sizeof(buffer),"%s %d - %s",
1150 -            Q_(l_month[cur_month-1]),cur_year,msg_h_search);
1151 +            Q_(l_month[cur_month-1]),cur_year,_("Search String"));
1152     write_html_head(buffer, out_fp);
1153  
1154     fprintf(out_fp,"<FONT SIZE=\"-1\"></CENTER><PRE>\n");
1155  
1156 -   fprintf(out_fp," %12s      %s\n",msg_h_hits,msg_h_search);
1157 +   fprintf(out_fp," %12s      %s\n",_("Hits"),_("Search String"));
1158     fprintf(out_fp,"----------------  ----------------------\n\n");
1159  
1160     pointer=s_array;
1161 @@ -1990,27 +1990,27 @@
1162     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1163     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=%d>" \
1164             "%s %llu %s %llu %s</TH></TR>\n",
1165 -           GREY,(dump_inout==0)?10:14,msg_top_top, tot_num, msg_top_of, t_user, msg_top_i);
1166 +           GREY,(dump_inout==0)?10:14,_("Top"), tot_num, _("of"), t_user, _("Total Usernames"));
1167     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1168     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=center>"                   \
1169            "<FONT SIZE=\"-1\">#</FONT></TH>\n",GREY);
1170     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"             \
1171 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",HITCOLOR,msg_h_hits);
1172 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",HITCOLOR,_("Hits"));
1173     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"             \
1174 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",FILECOLOR,msg_h_files);
1175 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",FILECOLOR,_("Files"));
1176     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"             \
1177 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,msg_h_xfer);
1178 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,_("kB F"));
1179     if (dump_inout != 0)
1180     {
1181        fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"             \
1182 -            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",IKBYTECOLOR,msg_h_ixfer);
1183 +            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",IKBYTECOLOR,_("kB In"));
1184        fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"             \
1185 -            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",OKBYTECOLOR,msg_h_oxfer);
1186 +            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",OKBYTECOLOR,_("kB Out"));
1187     }
1188     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"             \
1189 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",VISITCOLOR,msg_h_visits);
1190 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",VISITCOLOR,_("Visits"));
1191     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>"                       \
1192 -          "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",MISCCOLOR,msg_h_uname);
1193 +          "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",MISCCOLOR,_("Username"));
1194     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1195  
1196     pointer=i_array; i=0;
1197 @@ -2073,7 +2073,7 @@
1198           fprintf(out_fp,"<FONT SIZE=\"-1\">");
1199           fprintf(out_fp,"<A HREF=\"./user_%04d%02d.%s\">",
1200              cur_year,cur_month,html_ext);
1201 -         fprintf(out_fp,"%s</A></TD></TR>\n",msg_v_users);
1202 +         fprintf(out_fp,"%s</A></TD></TR>\n",_("View All Usernames"));
1203        }
1204     }
1205     fprintf(out_fp,"</TABLE>\n<P>\n");
1206 @@ -2098,18 +2098,18 @@
1207     if ( (out_fp=open_out_file(user_fname))==NULL ) return 0;
1208  
1209     snprintf(buffer,sizeof(buffer),"%s %d - %s",
1210 -            Q_(l_month[cur_month-1]),cur_year,msg_h_uname);
1211 +            Q_(l_month[cur_month-1]),cur_year,_("Username"));
1212     write_html_head(buffer, out_fp);
1213  
1214     fprintf(out_fp,"<FONT SIZE=\"-1\"></CENTER><PRE>\n");
1215  
1216     fprintf(out_fp," %12s      %12s      %12s",
1217 -           msg_h_hits, msg_h_files, msg_h_xfer);
1218 +           _("Hits"), _("Files"), _("kB F"));
1219     if (dump_inout != 0)
1220     {
1221 -      fprintf(out_fp,"      %12s      %12s", msg_h_ixfer, msg_h_oxfer);
1222 +      fprintf(out_fp,"      %12s      %12s", _("kB In"), _("kB Out"));
1223     }
1224 -   fprintf(out_fp,"      %12s      %s\n", msg_h_visits, msg_h_uname);
1225 +   fprintf(out_fp,"      %12s      %s\n", _("Visits"), _("Username"));
1226     fprintf(out_fp,"----------------  ----------------  ----------------  ");
1227     if (dump_inout != 0)
1228     {
1229 @@ -2324,7 +2324,7 @@
1230           pie_legend[i]=_(top_ctrys[i]->desc);
1231        }
1232        snprintf(pie_title,sizeof(pie_title),"%s %s %d",
1233 -               msg_ctry_use,Q_(l_month[cur_month-1]),cur_year);
1234 +               _("Usage by Country for"),Q_(l_month[cur_month-1]),cur_year);
1235        sprintf(pie_fname,"ctry_usage_%04d%02d.png",cur_year,cur_month);
1236  
1237        pie_chart(pie_fname,pie_title,t_hit,pie_data,pie_legend);  /* do it   */
1238 @@ -2341,25 +2341,25 @@
1239     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1240     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=%d>"         \
1241             "%s %d %s %d %s</TH></TR>\n",
1242 -           GREY,(dump_inout==0)?8:12,msg_top_top,tot_num,msg_top_of,tot_ctry,msg_top_c);
1243 +           GREY,(dump_inout==0)?8:12,_("Top"),tot_num,_("of"),tot_ctry,_("Total Countries"));
1244     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1245     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=center>"                   \
1246            "<FONT SIZE=\"-1\">#</FONT></TH>\n",GREY);
1247     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"             \
1248 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",HITCOLOR,msg_h_hits);
1249 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",HITCOLOR,_("Hits"));
1250     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"             \
1251 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",FILECOLOR,msg_h_files);
1252 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",FILECOLOR,_("Files"));
1253     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"             \
1254 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,msg_h_xfer);
1255 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,_("kB F"));
1256     if (dump_inout != 0)
1257     {
1258        fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"          \
1259 -            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",IKBYTECOLOR,msg_h_ixfer);
1260 +            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",IKBYTECOLOR,_("kB In"));
1261        fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>"          \
1262 -            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",OKBYTECOLOR,msg_h_oxfer);
1263 +            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",OKBYTECOLOR,_("kB Out"));
1264     }
1265     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>"                       \
1266 -          "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",MISCCOLOR,msg_h_ctry);
1267 +          "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",MISCCOLOR,_("Country"));
1268     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1269     for (i=0;i<ntop_ctrys;i++)
1270     {
1271 @@ -2436,12 +2436,12 @@
1272     /* need a header? */
1273     if (dump_header)
1274     {
1275 -      fprintf(out_fp,"%s\t%s\t%s", msg_h_hits,msg_h_files,msg_h_xfer);
1276 +      fprintf(out_fp,"%s\t%s\t%s", _("Hits"),_("Files"),_("kB F"));
1277        if (dump_inout != 0)
1278        {
1279 -        fprintf(out_fp,"\t%s\t%s", msg_h_ixfer,msg_h_oxfer);
1280 +        fprintf(out_fp,"\t%s\t%s", _("kB In"),_("kB Out"));
1281        }
1282 -      fprintf(out_fp,"\t%s\t%s\n", msg_h_visits,msg_h_hname); 
1283 +      fprintf(out_fp,"\t%s\t%s\n", _("Visits"),_("Hostname")); 
1284     }
1285  
1286     /* dump 'em */
1287 @@ -2488,12 +2488,12 @@
1288     /* need a header? */
1289     if (dump_header)
1290     {
1291 -      fprintf(out_fp,"%s\t%s",msg_h_hits,msg_h_xfer);
1292 +      fprintf(out_fp,"%s\t%s",_("Hits"),_("kB F"));
1293        if (dump_inout != 0)
1294        {
1295 -        fprintf(out_fp,"\t%s\t%s",msg_h_ixfer,msg_h_oxfer);
1296 +        fprintf(out_fp,"\t%s\t%s",_("kB In"),_("kB Out"));
1297        }
1298 -      fprintf(out_fp,"\t%s\n",msg_h_url);
1299 +      fprintf(out_fp,"\t%s\n",_("URL"));
1300     }
1301  
1302     /* dump 'em */
1303 @@ -2537,7 +2537,7 @@
1304     /* need a header? */
1305     if (dump_header)
1306     {
1307 -      fprintf(out_fp,"%s\t%s\n",msg_h_hits,msg_h_ref);
1308 +      fprintf(out_fp,"%s\t%s\n",_("Hits"),_("Referrer"));
1309     }
1310  
1311     /* dump 'em */
1312 @@ -2576,7 +2576,7 @@
1313     /* need a header? */
1314     if (dump_header)
1315     {
1316 -      fprintf(out_fp,"%s\t%s\n",msg_h_hits,msg_h_agent);
1317 +      fprintf(out_fp,"%s\t%s\n",_("Hits"),_("User Agent"));
1318     }
1319  
1320     /* dump 'em */
1321 @@ -2615,12 +2615,12 @@
1322     /* need a header? */
1323     if (dump_header)
1324     {
1325 -      fprintf(out_fp,"%s\t%s\t%s",msg_h_hits,msg_h_files,msg_h_xfer);
1326 +      fprintf(out_fp,"%s\t%s\t%s",_("Hits"),_("Files"),_("kB F"));
1327        if (dump_inout != 0)
1328        {
1329 -        fprintf(out_fp,"\t%s\t%s",msg_h_ixfer,msg_h_oxfer);
1330 +        fprintf(out_fp,"\t%s\t%s",_("kB In"),_("kB Out"));
1331        }
1332 -      fprintf(out_fp,"\t%s\t%s\n",msg_h_visits,msg_h_uname);
1333 +      fprintf(out_fp,"\t%s\t%s\n",_("Visits"),_("Username"));
1334     }
1335  
1336     /* dump 'em */
1337 @@ -2665,7 +2665,7 @@
1338     /* need a header? */
1339     if (dump_header)
1340     {
1341 -      fprintf(out_fp,"%s\t%s\n",msg_h_hits,msg_h_search);
1342 +      fprintf(out_fp,"%s\t%s\n",_("Hits"),_("Search String"));
1343     }
1344  
1345     /* dump 'em */
1346 @@ -2707,9 +2707,9 @@
1347     double  gt_oxfer=0.0;
1348     double  gt_visits=0.0;
1349  
1350 -   if (verbose>1) printf("%s\n",msg_gen_sum);
1351 +   if (verbose>1) printf("%s\n",_("Generating summary report"));
1352  
1353 -   snprintf(buffer,sizeof(buffer),"%s %s",msg_main_us,hname);
1354 +   snprintf(buffer,sizeof(buffer),"%s %s",_("Usage summary for"),hname);
1355     year_graph6x("usage.png", buffer, hist);
1356  
1357     /* now do html stuff... */
1358 @@ -2727,7 +2727,7 @@
1359           if ( S_ISLNK(out_stat.st_mode) )
1360           {
1361              if (verbose)
1362 -           fprintf(stderr,"%s %s (symlink)\n",msg_no_open,".htaccess");
1363 +           fprintf(stderr,"%s %s (symlink)\n",_("Error: Unable to open file"),".htaccess");
1364              return NULL;
1365           }
1366        }
1367 @@ -2749,7 +2749,7 @@
1368     if ( (out_fp=open_out_file(index_fname)) == NULL)
1369     {
1370        if (verbose)
1371 -      fprintf(stderr,"%s %s!\n",msg_no_open,index_fname);
1372 +      fprintf(stderr,"%s %s!\n",_("Error: Unable to open file"),index_fname);
1373        return 1;
1374     }
1375     write_html_head(NULL, out_fp);
1376 @@ -2761,41 +2761,41 @@
1377     fprintf(out_fp,"<TABLE WIDTH=600 BORDER=2 CELLSPACING=1 CELLPADDING=1>\n");
1378     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1379     fprintf(out_fp,"<TR><TH COLSPAN=%d BGCOLOR=\"%s\" ALIGN=center>",(dump_inout==0)?11:13,GREY);
1380 -   fprintf(out_fp,"%s</TH></TR>\n",msg_main_sum);
1381 +   fprintf(out_fp,"%s</TH></TR>\n",_("Summary by Month"));
1382     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1383     fprintf(out_fp,"<TR><TH ALIGN=left ROWSPAN=2 BGCOLOR=\"%s\">"          \
1384 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREY,msg_h_mth);
1385 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREY,_("Month"));
1386     fprintf(out_fp,"<TH ALIGN=center COLSPAN=4 BGCOLOR=\"%s\">"            \
1387 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREY,msg_main_da);
1388 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREY,_("Daily Avg"));
1389     fprintf(out_fp,"<TH ALIGN=center COLSPAN=%d BGCOLOR=\"%s\">"            \
1390 -          "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",(dump_inout==0)?6:8,GREY,msg_main_mt);
1391 +          "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",(dump_inout==0)?6:8,GREY,_("Monthly Totals"));
1392     fprintf(out_fp,"<TR><TH ALIGN=center BGCOLOR=\"%s\">"                  \
1393 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",HITCOLOR,msg_h_hits);
1394 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",HITCOLOR,_("Hits"));
1395     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"                      \
1396 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",FILECOLOR,msg_h_files);
1397 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",FILECOLOR,_("Files"));
1398     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"                      \
1399 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",PAGECOLOR,msg_h_pages);
1400 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",PAGECOLOR,_("Pages"));
1401     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"                      \
1402 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",VISITCOLOR,msg_h_visits);
1403 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",VISITCOLOR,_("Visits"));
1404     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"                      \
1405 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",SITECOLOR,msg_h_sites);
1406 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",SITECOLOR,_("Sites"));
1407     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"                      \
1408 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,msg_h_xfer);
1409 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,_("kB F"));
1410     if (dump_inout != 0)
1411     {
1412        fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"                   \
1413 -            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",IKBYTECOLOR,msg_h_ixfer);
1414 +            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",IKBYTECOLOR,_("kB In"));
1415        fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"                   \
1416 -            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",OKBYTECOLOR,msg_h_oxfer);
1417 +            "<FONT SIZE=\"-1\">%s</FONT></TH>\n",OKBYTECOLOR,_("kB Out"));
1418     }
1419     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"                      \
1420 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",VISITCOLOR,msg_h_visits);
1421 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",VISITCOLOR,_("Visits"));
1422     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"                      \
1423 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",PAGECOLOR,msg_h_pages);
1424 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",PAGECOLOR,_("Pages"));
1425     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"                      \
1426 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",FILECOLOR,msg_h_files);
1427 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",FILECOLOR,_("Files"));
1428     fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">"                      \
1429 -          "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",HITCOLOR,msg_h_hits);
1430 +          "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",HITCOLOR,_("Hits"));
1431     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1432     for (i=HISTSIZE-1;i>=HISTSIZE-index_mths;i--)
1433     {
1434 @@ -2923,7 +2923,7 @@
1435     }
1436     fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1437     fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" COLSPAN=6 ALIGN=left>"          \
1438 -          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREY,msg_h_totals);
1439 +          "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREY,_("Totals"));
1440     fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=right>"                       \
1441            "<FONT SIZE=\"-1\">%.0f</FONT></TH>\n",GREY,gt_xfer);
1442     if (dump_inout != 0)
1443 @@ -3258,7 +3258,7 @@
1444        if ( S_ISLNK(out_stat.st_mode) )
1445        {
1446           if (verbose)
1447 -         fprintf(stderr,"%s %s (symlink)\n",msg_no_open,filename);
1448 +         fprintf(stderr,"%s %s (symlink)\n",_("Error: Unable to open file"),filename);
1449           return NULL;
1450        }
1451     }
1452 @@ -3267,7 +3267,7 @@
1453     if ( (out_fp=fopen(filename,"w")) == NULL)
1454     {
1455        if (verbose)
1456 -      fprintf(stderr,"%s %s!\n",msg_no_open,filename);
1457 +      fprintf(stderr,"%s %s!\n",_("Error: Unable to open file"),filename);
1458        return NULL;
1459     }
1460     return out_fp;
1461 Index: webalizer/parser.c
1462 ===================================================================
1463 --- webalizer.orig/parser.c     2011-01-08 20:59:30.000000000 +0100
1464 +++ webalizer/parser.c  2011-01-08 20:59:58.000000000 +0100
1465 @@ -229,7 +229,7 @@
1466     {
1467        if (verbose)
1468        {
1469 -         fprintf(stderr,"%s",msg_big_host);
1470 +         fprintf(stderr,"%s",_("Warning: Truncating oversized hostname"));
1471           if (debug_mode) fprintf(stderr,": %s\n",cpx);
1472           else fprintf(stderr,"\n");
1473        }
1474 @@ -261,7 +261,7 @@
1475     {
1476        if (verbose)
1477        {
1478 -         fprintf(stderr,"%s",msg_big_user);
1479 +         fprintf(stderr,"%s",_("Warning: Truncating oversized username"));
1480           if (debug_mode) fprintf(stderr,": %s\n",cpx);
1481           else fprintf(stderr,"\n");
1482        }
1483 @@ -283,7 +283,7 @@
1484     {
1485        if (verbose)
1486        {
1487 -         fprintf(stderr,"%s",msg_big_date);
1488 +         fprintf(stderr,"%s",_("Warning: Truncating oversized date field"));
1489           if (debug_mode) fprintf(stderr,": %s\n",cpx);
1490           else fprintf(stderr,"\n");
1491        }
1492 @@ -308,7 +308,7 @@
1493     {
1494        if (verbose)
1495        {
1496 -         fprintf(stderr,"%s",msg_big_req);
1497 +         fprintf(stderr,"%s",_("Warning: Truncating oversized request field"));
1498           if (debug_mode) fprintf(stderr,": %s\n",cpx);
1499           else fprintf(stderr,"\n");
1500        }
1501 @@ -352,7 +352,7 @@
1502     {
1503        if (verbose)
1504        {
1505 -         fprintf(stderr,"%s",msg_big_ref);
1506 +         fprintf(stderr,"%s",_("Warning: Truncating oversized referrer field"));
1507           if (debug_mode) fprintf(stderr,": %s\n",cpx);
1508           else fprintf(stderr,"\n");
1509        }
1510 @@ -423,7 +423,7 @@
1511     {
1512        if (verbose)
1513        {
1514 -         fprintf(stderr,"%s",msg_big_host);
1515 +         fprintf(stderr,"%s",_("Warning: Truncating oversized hostname"));
1516           if (debug_mode) fprintf(stderr,": %s\n",cpx);
1517           else fprintf(stderr,"\n");
1518        }
1519 @@ -460,7 +460,7 @@
1520     {
1521        if (verbose)
1522        {
1523 -         fprintf(stderr,"%s",msg_big_req);
1524 +         fprintf(stderr,"%s",_("Warning: Truncating oversized request field"));
1525           if (debug_mode) fprintf(stderr,": %s\n",cpx);
1526           else fprintf(stderr,"\n");
1527        }
1528 @@ -489,7 +489,7 @@
1529     {
1530        if (verbose)
1531        {
1532 -         fprintf(stderr,"%s",msg_big_req);
1533 +         fprintf(stderr,"%s",_("Warning: Truncating oversized request field"));
1534           if (debug_mode) fprintf(stderr,": %s\n",cpx);
1535           else fprintf(stderr,"\n");
1536        }
1537 Index: webalizer/preserve.c
1538 ===================================================================
1539 --- webalizer.orig/preserve.c   2011-01-08 20:59:30.000000000 +0100
1540 +++ webalizer/preserve.c        2011-01-08 20:59:58.000000000 +0100
1541 @@ -75,7 +75,7 @@
1542  
1543     if (hist_fp)
1544     {
1545 -      if (verbose>1) printf("%s %s\n",msg_get_hist,hist_fname);
1546 +      if (verbose>1) printf("%s %s\n",_("Reading history file..."),hist_fname);
1547        while ( fgets(buffer,BUFSIZE,hist_fp) != NULL )
1548        {
1549           if (buffer[0]=='#') { continue; } /* skip comments */
1550 @@ -86,7 +86,7 @@
1551           /* check if valid numbers */
1552           if ( (in_m<1 || in_m>12 || in_y<1970) )
1553           {
1554 -            if (verbose) fprintf(stderr,"%s (mth=%d)\n",msg_bad_hist,in_m);
1555 +            if (verbose) fprintf(stderr,"%s (mth=%d)\n",_("Error: Ignoring invalid history record"),in_m);
1556              continue;
1557           }
1558  
1559 @@ -139,7 +139,7 @@
1560        }
1561        fclose(hist_fp);
1562     }
1563 -   else if (verbose>1) printf("%s\n",msg_no_hist);
1564 +   else if (verbose>1) printf("%s\n",_("History file not found..."));
1565  }
1566  
1567  /*********************************************/
1568 @@ -166,7 +166,7 @@
1569        if ( S_ISLNK(hist_stat.st_mode) )
1570        {
1571           if (verbose)
1572 -         fprintf(stderr,"%s %s (symlink)\n",msg_no_open,new_fname);
1573 +         fprintf(stderr,"%s %s (symlink)\n",_("Error: Unable to open file"),new_fname);
1574           return;
1575        }
1576     }
1577 @@ -179,7 +179,7 @@
1578     hist_fp = fopen(new_fname,"w");
1579     if (hist_fp)
1580     {
1581 -      if (verbose>1) printf("%s\n",msg_put_hist);
1582 +      if (verbose>1) printf("%s\n",_("Saving history information..."));
1583  
1584        /* write header */
1585        fprintf(hist_fp,"# Webalizer V%s-%s History Data - %s (%d month)\n",
1586 @@ -219,7 +219,7 @@
1587     }
1588     else
1589        if (verbose)
1590 -      fprintf(stderr,"%s %s\n",msg_hist_err,new_fname);
1591 +      fprintf(stderr,"%s %s\n",_("Error: Unable to write history file"),new_fname);
1592  }
1593  
1594  /*********************************************/
1595 @@ -338,7 +338,7 @@
1596        if ( S_ISLNK(state_stat.st_mode) )
1597        {
1598           if (verbose)
1599 -         fprintf(stderr,"%s %s (symlink)\n",msg_no_open,new_fname);
1600 +         fprintf(stderr,"%s %s (symlink)\n",_("Error: Unable to open file"),new_fname);
1601           return(EBADF);
1602        }
1603     }
1604 @@ -352,7 +352,7 @@
1605     {
1606        sprintf(buffer,"%02d/%02d/%04d %02d:%02d:%02d",
1607         cur_month,cur_day,cur_year,cur_hour,cur_min,cur_sec);
1608 -      printf("%s [%s]\n",msg_put_data,buffer);
1609 +      printf("%s [%s]\n",_("Saving current run data..."),buffer);
1610     }
1611  
1612     /* first, save the easy stuff */
1613 @@ -566,12 +566,12 @@
1614     if (fp==NULL)
1615     {
1616        /* Previous run data not found... */
1617 -      if (verbose>1) printf("%s\n",msg_no_data);
1618 +      if (verbose>1) printf("%s\n",_("Previous run data not found..."));
1619        return 0;   /* return with ok code */
1620     }
1621  
1622     /* Reading previous run data... */
1623 -   if (verbose>1) printf("%s %s\n",msg_get_data,state_fname);
1624 +   if (verbose>1) printf("%s %s\n",_("Reading previous run data.."),state_fname);
1625  
1626     /* get easy stuff */
1627     sprintf(tmp_buf,"# Webalizer V%s    ",version);
1628 @@ -678,7 +678,7 @@
1629        {
1630           if (verbose)
1631           /* Error adding URL node, skipping ... */
1632 -         fprintf(stderr,"%s %s\n", msg_nomem_u, t_unode.string);
1633 +         fprintf(stderr,"%s %s\n", _("Error adding URL node, skipping"), t_unode.string);
1634        }
1635     }
1636  
1637 @@ -719,7 +719,7 @@
1638           t_hnode.visit+1,t_hnode.tstamp,t_hnode.lasturl,sm_htab))
1639        {
1640           /* Error adding host node (monthly), skipping .... */
1641 -         if (verbose) fprintf(stderr,"%s %s\n",msg_nomem_mh, t_hnode.string);
1642 +         if (verbose) fprintf(stderr,"%s %s\n",_("Error adding host node (monthly), skipping"), t_hnode.string);
1643        }
1644     }
1645  
1646 @@ -760,7 +760,7 @@
1647           t_hnode.visit+1,t_hnode.tstamp,t_hnode.lasturl,sd_htab))
1648        {
1649           /* Error adding host node (daily), skipping .... */
1650 -         if (verbose) fprintf(stderr,"%s %s\n",msg_nomem_dh, t_hnode.string);
1651 +         if (verbose) fprintf(stderr,"%s %s\n",_("Error adding host node (daily), skipping"), t_hnode.string);
1652        }
1653     }
1654  
1655 @@ -785,7 +785,7 @@
1656        if (put_rnode(tmp_buf,t_rnode.flag,
1657           t_rnode.count, &ul_bogus, rm_htab))
1658        {
1659 -         if (verbose) fprintf(stderr,"%s %s\n", msg_nomem_r, log_rec.refer);
1660 +         if (verbose) fprintf(stderr,"%s %s\n", _("Error adding Referrer node, skipping"), log_rec.refer);
1661        }
1662     }
1663  
1664 @@ -810,7 +810,7 @@
1665        if (put_anode(tmp_buf,t_anode.flag,t_anode.count,
1666           &ul_bogus,am_htab))
1667        {
1668 -         if (verbose) fprintf(stderr,"%s %s\n", msg_nomem_a, log_rec.agent);
1669 +         if (verbose) fprintf(stderr,"%s %s\n", _("Error adding User Agent node, skipping"), log_rec.agent);
1670        }
1671     }
1672  
1673 @@ -834,7 +834,7 @@
1674        /* insert node */
1675        if (put_snode(tmp_buf,t_snode.count,sr_htab))
1676        {
1677 -         if (verbose) fprintf(stderr,"%s %s\n", msg_nomem_sc, t_snode.string);
1678 +         if (verbose) fprintf(stderr,"%s %s\n", _("Error adding Search String Node, skipping"), t_snode.string);
1679        }
1680     }
1681  
1682 @@ -867,7 +867,7 @@
1683        {
1684           if (verbose)
1685           /* Error adding username node, skipping .... */
1686 -         fprintf(stderr,"%s %s\n",msg_nomem_i, t_inode.string);
1687 +         fprintf(stderr,"%s %s\n",_("Error adding Username node, skipping"), t_inode.string);
1688        }
1689     }
1690  
1691 Index: webalizer/webalizer.c
1692 ===================================================================
1693 --- webalizer.orig/webalizer.c  2011-01-08 20:59:53.000000000 +0100
1694 +++ webalizer/webalizer.c       2011-01-08 20:59:58.000000000 +0100
1695 @@ -326,7 +326,7 @@
1696     setlocale(LC_CTYPE,"");
1697  
1698     /* Initialise report_title with the default localized value          */
1699 -   report_title = msg_title;
1700 +   report_title = _("Usage Statistics for");
1701  
1702     /* initalize epoch */
1703     epoch=jdate(1,1,1970);                /* used for timestamp adj.     */
1704 @@ -497,7 +497,7 @@
1705  #ifndef USE_DNS
1706     if (strstr(argv[0],"webazolver")!=0)
1707        /* DNS support not present, aborting... */
1708 -      { printf("%s\n",msg_dns_abrt); exit(1); }
1709 +      { printf("%s\n",_("DNS support not present, aborting...")); exit(1); }
1710  #else
1711     /* Force sane values for cache TTL */
1712     if (cache_ttl<1)   cache_ttl=1;
1713 @@ -514,7 +514,7 @@
1714           if ( S_ISLNK(log_stat.st_mode) )
1715           {
1716              if (verbose)
1717 -            fprintf(stderr,"%s %s (symlink)\n",msg_log_err,log_fname);
1718 +            fprintf(stderr,"%s %s (symlink)\n",_("Error: Can't open log file"),log_fname);
1719              exit(EBADF);
1720           }
1721        }
1722 @@ -531,7 +531,7 @@
1723           if (zlog_fp==Z_NULL)
1724           {
1725              /* Error: Can't open log file ... */
1726 -            fprintf(stderr, "%s %s (%d)\n",msg_log_err,log_fname,ENOENT);
1727 +            fprintf(stderr, "%s %s (%d)\n",_("Error: Can't open log file"),log_fname,ENOENT);
1728              exit(ENOENT);
1729           }
1730        }
1731 @@ -542,7 +542,7 @@
1732           if (log_fp==NULL)
1733           {
1734              /* Error: Can't open log file ... */
1735 -            fprintf(stderr, "%s %s\n",msg_log_err,log_fname);
1736 +            fprintf(stderr, "%s %s\n",_("Error: Can't open log file"),log_fname);
1737              exit(1);
1738           }
1739        }
1740 @@ -551,7 +551,7 @@
1741     /* Using logfile ... */
1742     if (verbose>1)
1743     {
1744 -      printf("%s %s (",msg_log_use,log_fname?log_fname:"STDIN");
1745 +      printf("%s %s (",_("Using logfile"),log_fname?log_fname:"STDIN");
1746        if (gz_log==COMP_GZIP) printf("gzip-");
1747  #ifdef USE_BZIP
1748        if (gz_log==COMP_BZIP) printf("bzip-");
1749 @@ -572,7 +572,7 @@
1750        if (chdir(out_dir) != 0)
1751        {
1752           /* Error: Can't change directory to ... */
1753 -         fprintf(stderr, "%s %s\n",msg_dir_err,out_dir);
1754 +         fprintf(stderr, "%s %s\n",_("Error: Can't change directory to"),out_dir);
1755           exit(1);
1756        }
1757     }
1758 @@ -584,7 +584,7 @@
1759        if (!dns_cache)
1760        {
1761           /* No cache file specified, aborting... */
1762 -         fprintf(stderr,"%s\n",msg_dns_nocf);     /* Must have a cache file */
1763 +         fprintf(stderr,"%s\n",_("No cache file specified, aborting..."));     /* Must have a cache file */
1764           exit(1);
1765        }
1766     }
1767 @@ -593,7 +593,7 @@
1768     {
1769        if (dns_children > MAXCHILD) dns_children=MAXCHILD;
1770        /* DNS Lookup (#children): */
1771 -      if (verbose>1) printf("%s (%d): ",msg_dns_rslv,dns_children);
1772 +      if (verbose>1) printf("%s (%d): ",_("DNS Lookup"),dns_children);
1773        fflush(stdout);
1774        (gz_log)?dns_resolver(zlog_fp):dns_resolver(log_fp);
1775  #ifdef USE_BZIP
1776 @@ -611,7 +611,7 @@
1777        else
1778        {
1779           /* Using DNS cache file <filaneme> */
1780 -         if (verbose>1) printf("%s %s\n",msg_dns_usec,dns_cache);
1781 +         if (verbose>1) printf("%s %s\n",_("Using DNS cache file"),dns_cache);
1782        }
1783     }
1784  
1785 @@ -621,13 +621,13 @@
1786        geo_db=geodb_open(geodb_fname);
1787        if (geo_db==NULL)
1788        {
1789 -         if (verbose) printf("%s: %s\n",msg_geo_open,
1790 -            (geodb_fname)?geodb_fname:msg_geo_dflt);
1791 -         if (verbose) printf("GeoDB %s\n",msg_geo_nolu);
1792 +         if (verbose) printf("%s: %s\n",_("Error opening file"),
1793 +            (geodb_fname)?geodb_fname:_("default"));
1794 +         if (verbose) printf("GeoDB %s\n",_("lookups disabled"));
1795           geodb=0;
1796        }
1797        else if (verbose>1) printf("%s %s\n",
1798 -         msg_geo_use,geodb_ver(geo_db,buffer));
1799 +         _("Using"),geodb_ver(geo_db,buffer));
1800  #ifdef USE_GEOIP
1801        if (geoip) geoip=0;   /* Disable GeoIP if using GeoDB */
1802  #endif
1803 @@ -647,18 +647,18 @@
1804        if (geo_fp==NULL)
1805        {
1806           /* couldn't open.. warn user */
1807 -         if (verbose) printf("GeoIP %s\n",msg_geo_nolu);
1808 +         if (verbose) printf("GeoIP %s\n",_("lookups disabled"));
1809           geoip=0;
1810        }
1811 -      else if (verbose>1) printf("%s %s (%s)\n",msg_geo_use,
1812 +      else if (verbose>1) printf("%s %s (%s)\n",_("Using"),
1813           GeoIPDBDescription[(int)geo_fp->databaseType],
1814 -         (geoip_db==NULL)?msg_geo_dflt:geo_fp->file_path);
1815 +         (geoip_db==NULL)?_("default"):geo_fp->file_path);
1816     }
1817  #endif /* USE_GEOIP */
1818  
1819     /* Creating output in ... */
1820     if (verbose>1)
1821 -      printf("%s %s\n",msg_dir_use,out_dir?out_dir:msg_cur_dir);
1822 +      printf("%s %s\n",_("Creating output in"),out_dir?out_dir:_("current directory"));
1823  
1824     /* prep hostname */
1825     if (!hname)
1826 @@ -668,10 +668,10 @@
1827     }
1828  
1829     /* Hostname for reports is ... */
1830 -   if (strlen(hname)) if (verbose>1) printf("%s '%s'\n",msg_hostname,hname);
1831 +   if (strlen(hname)) if (verbose>1) printf("%s '%s'\n",_("Hostname for reports is"),hname);
1832  
1833     /* get past history */
1834 -   if (ignore_hist) { if (verbose>1) printf("%s\n",msg_ign_hist); }
1835 +   if (ignore_hist) { if (verbose>1) printf("%s\n",_("Ignoring previous history...")); }
1836     else get_history();
1837  
1838     if (incremental)                      /* incremental processing?         */
1839 @@ -679,8 +679,8 @@
1840        if ((i=restore_state()))           /* restore internal data structs   */
1841        {
1842           /* Error: Unable to restore run data (error num) */
1843 -         /* if (verbose) fprintf(stderr,"%s (%d)\n",msg_bad_data,i); */
1844 -         fprintf(stderr,"%s (%d)\n",msg_bad_data,i);
1845 +         /* if (verbose) fprintf(stderr,"%s (%d)\n",_("Error: Unable to restore run data"),i); */
1846 +         fprintf(stderr,"%s (%d)\n",_("Error: Unable to restore run data"),i);
1847           exit(1);
1848        }
1849     }
1850 @@ -689,7 +689,7 @@
1851     if (ntop_ctrys  != 0)
1852     { if ( (top_ctrys=calloc(ntop_ctrys,sizeof(CLISTPTR))) == NULL)
1853      /* Can't get memory, Top Countries disabled! */
1854 -    {if (verbose) fprintf(stderr,"%s\n",msg_nomem_tc); ntop_ctrys=0;}}
1855 +    {if (verbose) fprintf(stderr,"%s\n",_("Can't allocate enough memory, Top Countries disabled!")); ntop_ctrys=0;}}
1856  
1857     /* get processing start time */
1858     start_time = time(NULL);
1859 @@ -706,7 +706,7 @@
1860        {
1861           if (verbose>1)
1862           {
1863 -            fprintf(stderr,"%s",msg_big_rec);
1864 +            fprintf(stderr,"%s",_("Error: Skipping oversized log record"));
1865              if (debug_mode) fprintf(stderr,":\n%s",buffer);
1866              else fprintf(stderr,"\n");
1867           }
1868 @@ -766,7 +766,7 @@
1869              if (verbose)
1870              {
1871                 fprintf(stderr,"%s: %s [%llu]",
1872 -                 msg_bad_date,log_rec.datetime,total_rec);
1873 +                 _("Error: Skipping record (bad date)"),log_rec.datetime,total_rec);
1874                 if (debug_mode) fprintf(stderr,":\n%s\n",tmp_buf);
1875                 else fprintf(stderr,"\n");
1876              }
1877 @@ -997,7 +997,7 @@
1878           if (strlen(log_rec.refer)>=MAXREFH)
1879           {
1880              if (verbose) fprintf(stderr,"%s [%llu]\n",
1881 -                msg_big_ref,total_rec);
1882 +                _("Warning: Truncating oversized referrer field"),total_rec);
1883              log_rec.refer[MAXREFH-1]='\0';
1884           }
1885  
1886 @@ -1005,7 +1005,7 @@
1887           if (strlen(log_rec.url)>=MAXURLH)
1888           {
1889              if (verbose) fprintf(stderr,"%s [%llu]\n",
1890 -                msg_big_req,total_rec);
1891 +                _("Warning: Truncating oversized request field"),total_rec);
1892              log_rec.url[MAXURLH-1]='\0';
1893           }
1894  
1895 @@ -1227,7 +1227,7 @@
1896              {
1897                 if (verbose)
1898                 /* Error adding URL node, skipping ... */
1899 -               fprintf(stderr,"%s %s\n", msg_nomem_u, log_rec.url);
1900 +               fprintf(stderr,"%s %s\n", _("Error adding URL node, skipping"), log_rec.url);
1901              }
1902  
1903              /* ident (username) hash table */
1904 @@ -1238,7 +1238,7 @@
1905              {
1906                 if (verbose)
1907                 /* Error adding ident node, skipping .... */
1908 -               fprintf(stderr,"%s %s\n", msg_nomem_i, log_rec.ident);
1909 +               fprintf(stderr,"%s %s\n", _("Error adding Username node, skipping"), log_rec.ident);
1910              }
1911           }
1912  
1913 @@ -1249,7 +1249,7 @@
1914               if (put_rnode(log_rec.refer,OBJ_REG,(u_int64_t)1,&t_ref,rm_htab))
1915               {
1916                if (verbose)
1917 -              fprintf(stderr,"%s %s\n", msg_nomem_r, log_rec.refer);
1918 +              fprintf(stderr,"%s %s\n", _("Error adding Referrer node, skipping"), log_rec.refer);
1919               }
1920           }
1921  
1922 @@ -1261,7 +1261,7 @@
1923           {
1924              if (verbose)
1925              /* Error adding host node (daily), skipping .... */
1926 -            fprintf(stderr,"%s %s\n",msg_nomem_dh, log_rec.hostname);
1927 +            fprintf(stderr,"%s %s\n",_("Error adding host node (daily), skipping"), log_rec.hostname);
1928           }
1929  
1930           /* hostname (site) hash table - monthly */
1931 @@ -1272,7 +1272,7 @@
1932           {
1933              if (verbose)
1934              /* Error adding host node (monthly), skipping .... */
1935 -            fprintf(stderr,"%s %s\n", msg_nomem_mh, log_rec.hostname);
1936 +            fprintf(stderr,"%s %s\n", _("Error adding host node (monthly), skipping"), log_rec.hostname);
1937           }
1938  
1939           /* user agent hash table */
1940 @@ -1282,7 +1282,7 @@
1941               if (put_anode(log_rec.agent,OBJ_REG,(u_int64_t)1,&t_agent,am_htab))
1942               {
1943                if (verbose)
1944 -              fprintf(stderr,"%s %s\n", msg_nomem_a, log_rec.agent);
1945 +              fprintf(stderr,"%s %s\n", _("Error adding User Agent node, skipping"), log_rec.agent);
1946               }
1947           }
1948  
1949 @@ -1332,7 +1332,7 @@
1950              {
1951                 if (verbose)
1952                 /* Error adding URL node, skipping ... */
1953 -               fprintf(stderr,"%s %s\n", msg_nomem_u, cp1);
1954 +               fprintf(stderr,"%s %s\n", _("Error adding URL node, skipping"), cp1);
1955              }
1956           }
1957  
1958 @@ -1347,7 +1347,7 @@
1959              {
1960                 if (verbose)
1961                 /* Error adding Site node, skipping ... */
1962 -               fprintf(stderr,"%s %s\n", msg_nomem_mh, cp1);
1963 +               fprintf(stderr,"%s %s\n", _("Error adding host node (monthly), skipping"), cp1);
1964              }
1965           }
1966           else
1967 @@ -1365,7 +1365,7 @@
1968                    {
1969                       if (verbose)
1970                       /* Error adding Site node, skipping ... */
1971 -                     fprintf(stderr,"%s %s\n", msg_nomem_mh, cp1);
1972 +                     fprintf(stderr,"%s %s\n", _("Error adding host node (monthly), skipping"), cp1);
1973                    }
1974                 }
1975              }
1976 @@ -1378,7 +1378,7 @@
1977              {
1978                 if (verbose)
1979                 /* Error adding Referrer node, skipping ... */
1980 -               fprintf(stderr,"%s %s\n", msg_nomem_r, cp1);
1981 +               fprintf(stderr,"%s %s\n", _("Error adding Referrer node, skipping"), cp1);
1982              }
1983           }
1984  
1985 @@ -1389,7 +1389,7 @@
1986              {
1987                 if (verbose)
1988                 /* Error adding User Agent node, skipping ... */
1989 -               fprintf(stderr,"%s %s\n", msg_nomem_a, cp1);
1990 +               fprintf(stderr,"%s %s\n", _("Error adding User Agent node, skipping"), cp1);
1991              }
1992           }
1993  
1994 @@ -1404,7 +1404,7 @@
1995              {
1996                 if (verbose)
1997                 /* Error adding Username node, skipping ... */
1998 -               fprintf(stderr,"%s %s\n", msg_nomem_i, cp1);
1999 +               fprintf(stderr,"%s %s\n", _("Error adding Username node, skipping"), cp1);
2000              }
2001           }
2002        }
2003 @@ -1419,7 +1419,7 @@
2004           if ( (total_rec==1) && (strncmp(buffer,"format=",7)==0) )
2005           {
2006              /* Skipping Netscape header record */
2007 -            if (verbose>1) printf("%s\n",msg_ign_nscp);
2008 +            if (verbose>1) printf("%s\n",_("Skipping Netscape header record"));
2009              /* count it as ignored... */
2010              total_ignore++;
2011           }
2012 @@ -1436,7 +1436,7 @@
2013                 total_bad++;
2014                 if (verbose)
2015                 {
2016 -                  fprintf(stderr,"%s (%llu)",msg_bad_rec,total_rec);
2017 +                  fprintf(stderr,"%s (%llu)",_("Skipping bad record"),total_rec);
2018                    if (debug_mode) fprintf(stderr,":\n%s\n",tmp_buf);
2019                    else fprintf(stderr,"\n");
2020                 }
2021 @@ -1486,7 +1486,7 @@
2022              if (save_state())                /* incremental stuff        */
2023              {
2024                 /* Error: Unable to save current run data */
2025 -               if (verbose) fprintf(stderr,"%s\n",msg_data_err);
2026 +               if (verbose) fprintf(stderr,"%s\n",_("Error: Unable to save current run data"));
2027                 unlink(state_fname);
2028              }
2029           }
2030 @@ -1503,19 +1503,19 @@
2031        /* display end of processing statistics */
2032        if (time_me || (verbose>1))
2033        {
2034 -         printf("%llu %s ",total_rec, msg_records);
2035 +         printf("%llu %s ",total_rec, _("records"));
2036           if (total_ignore)
2037           {
2038 -            printf("(%llu %s",total_ignore,msg_ignored);
2039 -            if (total_bad) printf(", %llu %s) ",total_bad,msg_bad);
2040 +            printf("(%llu %s",total_ignore,_("ignored"));
2041 +            if (total_bad) printf(", %llu %s) ",total_bad,_("bad"));
2042                 else        printf(") ");
2043           }
2044 -         else if (total_bad) printf("(%llu %s) ",total_bad,msg_bad);
2045 +         else if (total_bad) printf("(%llu %s) ",total_bad,_("bad"));
2046  
2047           /* totoal processing time in seconds */
2048           temp_time = difftime(end_time, start_time);
2049           if (temp_time==0) temp_time=1;
2050 -         printf("%s %.0f %s", msg_in, temp_time, msg_seconds);
2051 +         printf("%s %.0f %s", _("in"), temp_time, _("seconds"));
2052  
2053           /* calculate records per second */
2054           if (temp_time)
2055 @@ -1544,7 +1544,7 @@
2056     else
2057     {
2058        /* No valid records found... exit with error (1) */
2059 -      if (verbose) printf("%s\n",msg_no_vrec);
2060 +      if (verbose) printf("%s\n",_("No valid records found!"));
2061        if (hist[0].month!=0) write_main_index(); /* write main HTML file     */
2062        exit(1);
2063     }
2064 @@ -1697,7 +1697,7 @@
2065     if ( (fp=fopen(fname,"r")) == NULL)
2066     {
2067        if (verbose)
2068 -      fprintf(stderr,"%s %s\n",msg_bad_conf,fname);
2069 +      fprintf(stderr,"%s %s\n",_("Error: Unable to open configuration file"),fname);
2070        return;
2071     }
2072  
2073 @@ -1727,7 +1727,7 @@
2074           if (!ouricmp(keyword,kwords[i])) { key=i; break; }
2075  
2076        if (key==0) { printf("%s '%s' (%s)\n",       /* Invalid keyword       */
2077 -                    msg_bad_key,keyword,fname);
2078 +                    _("Warning: Invalid keyword"),keyword,fname);
2079                      continue;
2080                    }
2081  
2082 @@ -1853,7 +1853,7 @@
2083          case 85: dns_children=atoi(value);         break; /* DNSChildren    */
2084  #else
2085          case 84: /* Disable DNSCache and DNSChildren if DNS is not enabled  */
2086 -        case 85: printf("%s '%s' (%s)\n",msg_bad_key,keyword,fname); break;
2087 +        case 85: printf("%s '%s' (%s)\n",_("Warning: Invalid keyword"),keyword,fname); break;
2088  #endif  /* USE_DNS */
2089          case 86: daily_graph=
2090                      (tolower(value[0])=='n')?0:1;  break; /* HourlyGraph    */
2091 @@ -1884,7 +1884,7 @@
2092          case 101: /* Disable CacheIPs/CacheTTL/GeoDB/GeoDBDatabase if none  */
2093          case 102: 
2094          case 103:
2095 -        case 104: printf("%s '%s' (%s)\n",msg_bad_key,keyword,fname); break;
2096 +        case 104: printf("%s '%s' (%s)\n",_("Warning: Invalid keyword"),keyword,fname); break;
2097  #endif  /* USE_DNS */
2098          case 105: stripcgi=
2099                      (tolower(value[0])=='n')?0:1;  break; /* StripCGI       */
2100 @@ -1902,7 +1902,7 @@
2101          case 112: geoip_db=save_opt(value);        break; /* GeoIPDatabase  */
2102  #else
2103          case 111: /* Disable GeoIP and GeoIPDatabase if not enabled         */
2104 -        case 112: printf("%s '%s' (%s)\n",msg_bad_key,keyword,fname); break;
2105 +        case 112: printf("%s '%s' (%s)\n",_("Warning: Invalid keyword"),keyword,fname); break;
2106  #endif
2107          case 113: normalize=
2108                      (tolower(value[0])=='n')?0:1;  break; /* NormalizeURL   */
2109 @@ -1995,7 +1995,7 @@
2110  {
2111     int i;
2112  
2113 -   printf("%s: %s %s\n",h_usage1,pname,h_usage2);
2114 +   printf("%s: %s %s\n",_("Usage"),pname,_("[options] [log file]"));
2115     for (i=0;h_msg[i];i++) printf("%s\n",_(h_msg[i]));
2116     exit(1);
2117  }
2118 @@ -2246,7 +2246,7 @@
2119     {
2120        if (verbose)
2121        /* Error adding search string node, skipping .... */
2122 -      fprintf(stderr,"%s %s\n", msg_nomem_sc, tmpbuf);
2123 +      fprintf(stderr,"%s %s\n", _("Error adding Search String Node, skipping"), tmpbuf);
2124     }
2125     return;
2126  }
This page took 0.300223 seconds and 3 git commands to generate.