Subject: gettext

From: Jakson Aquino <[email-masked]>
Date: Sat, 5 Feb 2005 19:25:10 -0300 (ART)

Hello All! 

I'm a social scientist and I plan to teach
quantitative methods of research when I finish my
doctorate. Of course I will need a software. I
surveyed the Internet looking for a program that was
easy to use, without any necessity of remembering
commands, since we, social scientists, in general,
only use statistics for some days in an entire year.
We easily forget commands. It also would be very nice
a program running in Portuguese (since few Brazilian
undergraduate students can speak English), and that
was open source. Statist seems to be the best option,
and I would be glad if I could contribute to its
development. As my first contribution, I wrote some
translations. 

I have just subscribed the mail list, but I read some
messages posted in the last years. In one of them
(Fri, Jun 11, 2004), Bernhard Reiter wrote:

> statist in CVS is prepared for gettext support. 
... 
> However I did not create the necessary
infrastructures 
> for the message files yet, thus there is no release.

Since the po directory is not in the cvs yet, I
created one with Portuguese, Spanish and German
translations. The German translations were extracted
from the source code with the gettext option -k_:1,2.
The same option was used to extract the translations
made by Carleo some time ago and that are in the cvs
(or in the mail archive, I don't remember). I know
that there is an Italian translation. How can I get
it?

Spanish and Portuguese are very similar, and thanks to
Carleo's Spanish translations, I could translate many
entries in my pt_BR.po that were difficult to me.
However, the two languages don't share all words, and
I still need that some Brazilian statistician reviews
my pt_BR.po. I believe that in two weeks I'll be able
to get my file revised. 

The translations are in IS0-8859-1, and the words are
with their accents. For people with difficult to
display accentuated words in their computers, we can
easily create an option like "make noaccents" to
automatically create new .po files with all accents
removed. The opposite process, putting the accents
back in the words, would be a very hard manual work.
Could someone put the accents in the de_DE.po file?
The strings were without accents in the source code.

The po directory has a Makefile. Typing "make po"
extracts the strings from the source files and updates
(msgmerge) the three .po files (pt_BR, es_ES, and
de_DE). Typing "make mo" compiles the .po files and
creates the .mo files, and typing "make install"
copies the .mo files to
/usr/share/locale/xx_XX/LC_MESSAGES/. Typing "make"
with no options prints a short help text.

On Feb 20, 2002, Bernhard Reiter wrote: 

> probably also would be appropriate. You should get
the credit of course 
> and people otherwise might contact me and assume
that I speak Spanish. :) 

Thus, I put Carleo's full name and email in the
es_ES.po file. However, the de_DE.po file is with "no"
translator, because I don't know who will be
responsible for it.

I was getting "?" instead of accentuated letters when
statist was running in Portuguese. I just replaced
"LC_MESSAGES" with "LC_ALL" and now the accents are
correctly displayed. Even r^2 is being nicely printed
as r² (r + 0xb2) and mu is now µ (0xb5).

While translating the messages, I found some possible
problems in the English
original ones. I, then, made small changes in the
source code, and I'm
submitting these changes in the statist_gettext_patch:

menue.c: 

  82: "Tests" must be translated in languages other
than German. Thus, I replaced 
      out_d( " 3 = Tests\n") with 
      out_d( _(" 3 = Tests\n", " 3 = Tests\n")

  269: I replaced "Main Menu", with "Main menu"
(because "Main menu" was used 
     many times in other files, and "Main Menu" only
once).
  
  623: The string in this line was in German only, but
I found the translation
       in another place and copied it:
           "Bitte Anzahl der zu korrelierenden Spalten
eingeben,\n"
           "Erste angewaehlte Spalte wird als y-Wert
genommen: "
           "Please enter number of columns to be
correlated\n"
           "(first selected column will be taken as
y-value): "

       Note that the original English message was a
little confusing and that
       I changed it, adopting the same solution that
Carleo's applied to his 
       Spanish translation. I put the verb in the
future because after this 
       message, we have to enter the number of
variables and not the column's 
       label. This change was applied in three places
in menu.c. 
       However, I did nothing with the German text.  

  276: I replaced " $ = Chi^2-fourfould-test\n" with 
       " 4 = Chi^2-fourfould-test\n" 

procs.c 

  1139: "since frequences <= 5 ocure!" => "since there
are frequencies <= 5!"

data.c:

  204: I replaced "column" with "line". (the %i refers
to the line in the
       file, not to the column in the database)

I had also used Aspell to find misspelled words in
statist.pot and I corrected them in the source code:

  caclulated ==> calculated 
  literatur ==> literature
  fourfould => fourfold
  Modul => Module
  numnber => number
  differen => different
  enties => entries
  Discret => Discrete
  normaly => normally
  MISCELANEOUS => MISCELLANEOUS
  miscelaneous => miscellaneous
  indecated => indicated
  meaningfull => meaningful
  Cummulative => Cumulative
  distribtion => distribution
  Probitanalyse => Probit analysis
  Probitanalysis => Probit analysis
  Lillefors => Lilliefors
  Lillifors => Lilliefors
  Liliefors => Lilliefors
  SPEARMANN => SPEARMAN
  quantile => quartile
  get_quantile => get_quartile

Note: The last one (get_quantile) is the name of a
function, not a message.

If the changes are applied, the .po files will need
update, since they are still reflecting the old
sources. I already made most of the necessary update:
since there is no real change, I mainly deleted the
commentary #, fuzzy. However, there are two fuzzy
translations in both es_ES.po and de_DE.po.

I'm sending three files as attachment: 

po.tar.gz
po_after_changes.tar.gz
statist_gettext_patch

The po.tar.gz, has the po directory before I changed
some messages in the
sources.

The po_after_changes.tar.gz has the po directory after
I made the changes. 

The statist_gettext_patch is the patch to all changes
I made. I created it with diff -Naur. This is the
first time I use diff. Please, tell me if I have to
change something to make the use of my patches easier.

Best regards,

Jakson

http://www.geocities.com/jakson-aquino/

P.S.: The rule "memory_handling.o:" was missing in the
Makefile. I added the rule, although Statist was
compiling without it.

_______________________________________________________ 
Yahoo! Acesso Grátis - Instale o discador do Yahoo! agora. http://br.acesso.yahoo.com/ - Internet rápida e grátis

diff -Naur cvs_statist/src/data.c statist-1.1/src/data.c
--- cvs_statist/src/data.c	2005-02-02 16:11:42.000000000 -0200
+++ statist-1.1/src/data.c	2005-02-05 15:00:56.000000000 -0200
@@ -201,7 +201,7 @@
      }
      else {
        out_err(FAT, ERR_FILE, ERR_LINE, 
-         _("Illegal format of value '%s' in column %i!\n"
+         _("Illegal format of value '%s' in line %i!\n"
 	     "Couldn't read file %s!\n",
 	   "Ungueltiges Eingabeformat des Wertes \"%s\" in Zeile %i!\n"
          "Datei %s konnte nicht eingelesen werden!\n"), 
diff -Naur cvs_statist/src/funcs.c statist-1.1/src/funcs.c
--- cvs_statist/src/funcs.c	2005-02-02 16:11:42.000000000 -0200
+++ statist-1.1/src/funcs.c	2005-02-05 15:00:56.000000000 -0200
@@ -352,7 +352,7 @@

-REAL get_quantile(REAL x[], int n, REAL alpha) {
+REAL get_quartile(REAL x[], int n, REAL alpha) {
   REAL *xh, q;
   int  i, index;
 
diff -Naur cvs_statist/src/funcs.h statist-1.1/src/funcs.h
--- cvs_statist/src/funcs.h	2005-02-02 16:11:42.000000000 -0200
+++ statist-1.1/src/funcs.h	2005-02-05 15:00:56.000000000 -0200
@@ -46,7 +46,7 @@
 extern int  real_compar_up(const void *x, const void *y);
 extern int  u_rank_compar(const void *x, const void *y);
 extern int  wilcoxon_rank_compar(const void *x, const void *y);
-extern REAL get_quantile(REAL x[], int n, REAL alpha);
+extern REAL get_quartile(REAL x[], int n, REAL alpha);
 extern BOOLEAN equal(REAL x, REAL y);
 extern int pks(REAL d, int n);
 extern REAL get_multiple_reg(REAL y[], PREAL x[], int nrow, int ncol,
diff -Naur cvs_statist/src/Makefile statist-1.1/src/Makefile
--- cvs_statist/src/Makefile	2005-02-02 16:20:37.000000000 -0200
+++ statist-1.1/src/Makefile	2005-02-03 06:59:56.000000000 -0200
@@ -109,6 +109,9 @@
 plot.o : plot.c plot.h statist.h funcs.h  
 	$(CC) $(CFLAGS) plot.c
 
+memory_handling.o : memory_handling.c memory_handling.h statist.h funcs.h  
+	$(CC) $(CFLAGS) memory_handling.c
+
 
 clean: 
 	-rm -f $(OBJECTS) $(MAIN) *.log *.aux core $(STAT_LIB) $(SH_LIB)
diff -Naur cvs_statist/src/menue.c statist-1.1/src/menue.c
--- cvs_statist/src/menue.c	2005-02-02 16:11:43.000000000 -0200
+++ statist-1.1/src/menue.c	2005-02-05 15:04:26.000000000 -0200
@@ -60,7 +60,7 @@
   for (i=1; i<nm; i++) {
     if (nn[acol[i]] != nn[acol[0]]) {
       out_err(ERR, ERR_FILE, ERR_LINE, 
-		_("Columns have differen number of enties!", 
+		_("Columns have different number of entries!", 
 		  "Spalten haben unterschiedlich viele Werte!") );
       return FALSE;
     }
@@ -79,7 +79,7 @@
      out_d( _("   1 = Data management\n", "   1 = Datenverwaltung\n") );
      out_d( _("   2 = Regressions and correlations\n",
      		  "   2 = Regression und Korrelation\n") );
-     out_d(   "   3 = Tests\n");
+     out_d( _("   3 = Tests\n", "   3 = Tests\n"));
      out_d( _("   4 = Miscellaneous\n", "   4 = Verschiedenes\n") );
      out_d( _("   5 = Data manipulation\n", "   5 = Datenmanipulation\n") );
 
@@ -134,7 +134,7 @@
    REAL min, max;
 
    while (choice != QUIT) {
-     out_d(_("MISCELANEOUS: \n\n", "VERSCHIEDENES: \n\n") );
+     out_d(_("MISCELLANEOUS: \n\n", "VERSCHIEDENES: \n\n") );
      out_d(_("   0 = Main menu\n", "   0 = Hauptmenue\n") );
      out_d(_("   1 = Standard deviation, mean, median, etc. \n", 
      		 "   1 = Standardabweichung, Mittelwert, Median uva. \n") );
@@ -178,7 +178,7 @@
 		 }
 		 else if ((i<0)||(i==1)) {
 		   out_err(ERR, ERR_FILE, ERR_LINE,
-			_("Please enter meaningfull number of classes!",
+			_("Please enter meaningful number of classes!",
 		      "Bitte SINNVOLLE Angaben fuer Anzahl der Klassen machen!!!") );
 		   break;
 		 }
@@ -266,14 +266,14 @@
    
    while (choice != QUIT) {
      out_d("TESTS: \n\n");
-     out_d(_("   0 = Main Menu\n", "   0 = Hauptmenue\n") );
+     out_d(_("   0 = Main menu\n", "   0 = Hauptmenue\n") );
      out_d(_("   1 = t-test for comparison of two means of two sets\n",
      		 "   1 = t-Test zum Vergleich zweier Mittelwerte aus Stichproben\n") );
      out_d(_("   2 = t-test for comparison of pairwise ascertained data sets\n",
 		 "   2 = t-test zum Vergleich paarweise erhobener Stichproben\n") );
-     out_d(_("   3 = Test of normal distribution (KS-Lillefors-Test)\n",
-  		 "   3 = Test auf Normalverteilung (KS-Lillifors-Test)\n") );
-     out_d(_("   $ = Chi^2-fourfould-test\n",
+     out_d(_("   3 = Test of normal distribution (KS-Lilliefors-Test)\n",
+  		 "   3 = Test auf Normalverteilung (KS-Lilliefors-Test)\n") );
+     out_d(_("   4 = Chi^2-fourfold-test\n",
      		 "   4 = Chi^2-Vierfeldertafel\n") );
      out_d(_("   5 = Chi^2 two-items-test\n",
      		 "   5 = CHI^2 Zwei-Merkmale-Tafeltest\n") );
@@ -326,7 +326,7 @@
                }
                break;
       case 5: 
-               out_d(_("Please enter numnber of columns to be correlated: ",
+               out_d(_("Please enter number of columns to be correlated: ",
 		   	"Bitte Anzahl der zu korrelierenden Spalten eingeben: ") );
                GETBLINE;
                if (strstr(line, _(_ALL_,_ALL_)) != NULL) {
@@ -450,7 +450,7 @@
      out_d(_("   6 = Matrix of the linear correlation coefficients\n",
      		 "   6 = Matrix der linearen Korrelationskoeffizienten\n") );
      out_d(_("   7 = Matrix of SPEARMAN correlation coefficients\n", 
-     		 "   7 = Matrix der SPEARMANN'SCHEN Korrelationskoeffizienten\n") );
+     		 "   7 = Matrix der SPEARMAN'SCHEN Korrelationskoeffizienten\n") );
      out_d(_("   8 = Point-biserial (linear) correlation\n",
      		 "   8 = Punkt-biserielle (lineare) Korrelation\n") );
      out_d(_("   9 = Cross-validation of multiple linear regression\n",
@@ -482,10 +482,10 @@
                }
                break;
        case 3: 
-               out_d(_("Please enter numnber of columns to be correlated,\n",
+               out_d(_("Please enter number of columns to be correlated,\n",
 		   	"Bitte Anzahl der zu korrelierenden Spalten eingeben,\n") );
-               out_d(_("First selected column is taken as y-value: ", 
-		   		"Erste angewaehlte Spalte wird als y-Wert genommen: ") );
+               out_d(_("(first selected column will be taken as y-value): ",
+                     "Erste angewaehlte Spalte wird als y-Wert genommen: ") );
                GETBLINE;
                if (strstr(line, _(_ALL_,_ALL_)) != NULL) {
                  for (i=0; i<ncol; i++) {
@@ -564,7 +564,7 @@
                }
                break;
        case 6: 
-               out_d(_("Please enter numnber of columns to be correlated: ",
+               out_d(_("Please enter number of columns to be correlated: ",
 		   	"Bitte Anzahl der zu korrelierenden Spalten eingeben: ") );
                GETBLINE;
                if (strstr(line, _(_ALL_,_ALL_)) != NULL) {
@@ -619,9 +619,11 @@
                  point_biserial_reg(xx[acol[0]], xx[acol[1]], nn[acol[0]]);
                }
                break;
-       case 9: 
-               out_d("Bitte Anzahl der zu korrelierenden Spalten eingeben,\n");
-               out_d("Erste angewaehlte Spalte wird als y-Wert genommen: ");
+       case 9:
+              out_d(_("Please enter number of columns to be correlated,\n",
+                     "Bitte Anzahl der zu korrelierenden Spalten eingeben,\n"));
+               out_d( _("(first selected column will be taken as y-value): ",
+                     "Erste angewaehlte Spalte wird als y-Wert genommen: "));
                GETBLINE;
                if (strstr(line, _(_ALL_,_ALL_)) != NULL) {
                  for (i=0; i<ncol; i++) {
@@ -648,10 +650,10 @@
                break;
 
        case 10: 
-               out_d(_("Please enter numnber of columns to be correlated,\n",
+               out_d(_("Please enter number of columns to be correlated,\n",
 		   	"Bitte Anzahl der zu korrelierenden Spalten eingeben,\n") );
-               out_d(_("First selected column is taken as y-value: ", 
-		   		"Erste angewaehlte Spalte wird als y-Wert genommen: ") );
+               out_d(_("(first selected column will be taken as y-value): ",
+                     "Erste angewaehlte Spalte wird als y-Wert genommen: ") );
                GETBLINE;
                if (strstr(line, _(_ALL_,_ALL_)) != NULL) {
                  for (i=0; i<ncol; i++) {
diff -Naur cvs_statist/src/plot.c statist-1.1/src/plot.c
--- cvs_statist/src/plot.c	2005-02-02 16:11:44.000000000 -0200
+++ statist-1.1/src/plot.c	2005-02-05 15:04:26.000000000 -0200
@@ -213,7 +213,7 @@
   SETDEFAULT;
   fprintf(pipef, "set xlabel '%s'\n", xlab);
   fprintf(pipef, "set ylabel '%%(%s)'\n", xlab);
-  fprintf(pipef, _("set title 'STATIST: Cummulative distribtion'\n",
+  fprintf(pipef, _("set title 'STATIST: Cumulative distribution'\n",
   			 "set title 'STATIST: Kummulative Verteilung'\n") );
   fprintf(pipef, "plot [%g:%g] [0:1.02] '%s' with lines\n", zmin, zmax, GPL_DAT);
   PLOT_CLOSE;
@@ -324,7 +324,7 @@
   fprintf(pipef, "a0=%g\n", a0);
   fprintf(pipef, "a1=%g\n", a1);
   fprintf(pipef, "f(x)=norm((log10(x)*a1+a0)-5)*100\n");
-  fprintf(pipef, _("set title 'STATIST: Probitanalysis'\n",
+  fprintf(pipef, _("set title 'STATIST: Probit analysis'\n",
   			 "set title 'STATIST: Probitanalyse'\n") );
   fprintf(pipef, "plot [%g:%g] '%s', f(x)\n",
           dose0, dose1, GPL_DAT);
diff -Naur cvs_statist/src/procs.c statist-1.1/src/procs.c
--- cvs_statist/src/procs.c	2005-02-02 16:11:46.000000000 -0200
+++ statist-1.1/src/procs.c	2005-02-05 15:04:26.000000000 -0200
@@ -637,10 +637,9 @@
 
    out_start();
    out_r(_("Matrix of SPEARMAN'S Rank-Correlation-Coefficients\n",
-   		"Matrix der SPEARMANN'SCHEN Rank-Korrelationskoeffizienten\n") );
+   		"Matrix der SPEARMAN'SCHEN Rank-Korrelationskoeffizienten\n") );
    out_r(_("of the variables:\n\n", "der Variablen:\n\n") );
-
-      out_r(_("Variable     ", "Variable     ") );
+   out_r(_("Variable     ", "Variable     ") );
    for (i=0; i<ncol; i++) {
      /*  out_r("%8i", (i+1)); */
      strncpy(label, get_label(xx[i]), 9);
@@ -1008,14 +1007,14 @@
   /* prob=pks(sqrt( SQR((REAL)n) / ((REAL)(2*n)))*(d));    */
 
   out_start();
-  out_r(_("Hypothesis H0: Data are normaly distributed versus\n",
+  out_r(_("Hypothesis H0: Data are normally distributed versus\n",
   		"\nHypothese H0: Daten sind normalverteilt gegen\n") );
   out_r(_("Hypothesis H1: Data are not normally distributed\n\n",
   		"Hypothese H1: Daten sind nicht normalverteilt\n\n") );
   
-  out_r(_("Result KS-Liliefors-Test on normal distribution:\n",
-  		"Ergebnis KS-Liliefors-Test auf Normalverteilung:\n") );
-  out_r(_("D (calulcated)= %f\n",
+  out_r(_("Result KS-Lilliefors-Test on normal distribution:\n",
+  		"Ergebnis KS-Lilliefors-Test auf Normalverteilung:\n") );
+  out_r(_("D (calculated)= %f\n",
   		"D (berechnet)= %f\n"), d);
   out_r(_("Number of data = %i\n",
   		"Anzahl der Daten = %i\n"), n);
@@ -1136,7 +1135,7 @@
   out_start();
   for (k=0; k<nclass; k++) {
     if (freq[k]<=5) {
-      out_r(_("Warning: This test shouldn't be applied,\n\tsince frequences <= 5 ocure!\n\n",  
+      out_r(_("Warning: This test shouldn't be applied,\n\tsince there are frequencies <= 5!\n\n",  
 		"Achtung: Da Haeufigkeiten <= 5 auftreten, sollte der Test\n\tnicht angewandt werden!\n\n") );
       break;
     }
@@ -1256,7 +1255,7 @@
   out_start();
   for (k=0; k<nclass; k++) {
     if (freq[k].x<=5) {
-      out_r(_("Warning: This test shouldn't be applied,\n\tsince frequences <= 5 ocure!\n\n",  
+      out_r(_("Warning: This test shouldn't be applied,\n\tsince there are frequencies <= 5!\n\n",  
 		"Achtung: Da Haeufigkeiten <= 5 auftreten, sollte der Test\n\tnicht angewandt werden!\n\n") );
       break;
     }
@@ -1571,7 +1570,7 @@
   out_start();
   if(discrete)
   {
-	  out_d(_("Discret data with exactly %d classes!\n",
+	  out_d(_("Discrete data with exactly %d classes!\n",
 	  		"Wow, diskrete Daten mit exakt %d Klassen!\n"), mclass);
   	  step = (max-min)/(REAL)(mclass-1);
 	  for (i=0; i<mclass; i++) {
@@ -1741,9 +1740,9 @@
   /*  out_r("                               :     [%g, %g] (90%%)\n",
       no_l, no_u);
       */
-  out_r(_("25%% quantile                   : %g\n",
+  out_r(_("25%% quartile                   : %g\n",
   	    "25%% Quartil                    : %g\n"), q_l);
-  out_r(_("75%% quantile                   : %g\n",
+  out_r(_("75%% quartile                   : %g\n",
   	    "75%% Quartil                    : %g\n"), q_u);
   out_r(_("Standard deviation             : %g\n",
   	    "Standardabweichung             : %g\n"), sdv);
@@ -1816,7 +1815,7 @@
   out_start();
   df = n-2;
   out_r(_("\nResult SPEARMAN's Rank-Correlation:\n",
-  	    "\nErgebnis SPEARMANN'SCHE Rang-Korrelation:\n") );
+  	    "\nErgebnis SPEARMAN'SCHE Rang-Korrelation:\n") );
   out_r(_("rho = %f\n", "rho = %f\n"), rho);
   out_r(_("Degrees of freedom = n-2 = %i\n\n",
   	    "Freiheitsgrade = n-2 = %i\n\n"), df);
@@ -2100,7 +2099,7 @@
     		"\nAchtung: Nur ungenaue Approximation der Wahrscheinlichkeit moeglich!\n") );
     out_r(_("Please check exact probability of alpha for h having %i degrees of freedom\n",
     		"Genaue Wahrscheinlichkeit alpha fuer h mit %i Freiheitsgraden\n"), ncol-1);
-    out_r(_("in the literatur, e.g. in Table 16/17, pp. 599 in WEBER \n\n",
+    out_r(_("in the literature, e.g. in Table 16/17, pp. 599 in WEBER \n\n",
     		"bitte nachschlagen, z.B. in Tab. 16/17, S. 599 ff in WEBER \n\n") );
   }
     
@@ -2211,7 +2210,7 @@
     		"\nAchtung: Nur ungenaue Approximation der Wahrscheinlichkeit moeglich!\n") );
     out_r(_("Please check exact probability of alpha for h having %i degrees of freedom\n",
     		"Genaue Wahrscheinlichkeit alpha fuer h mit %i Freiheitsgraden\n"), ncol-1);
-    out_r(_("in the literatur, e.g. in Table 16/17, pp. 599 in WEBER \n\n",
+    out_r(_("in the literature, e.g. in Table 16/17, pp. 599 in WEBER \n\n",
     		"bitte nachschlagen, z.B. in Tab. 16/17, S. 599 ff in WEBER \n\n") );
   }
   if (h > 0.0) {
@@ -2256,7 +2255,7 @@
      }
    }
    else {
-     out_r(_("Values are being interpreted as fourfould-table:\n\n",
+     out_r(_("Values are being interpreted as fourfold-table:\n\n",
      		"Werte werden als Vierfeldertafel interpretiert:\n\n") );
      a = (unsigned int) x[0];
      b = (unsigned int) y[0];
@@ -2265,7 +2264,7 @@
      n = a+b+c+d;
    }
 
-   out_r( _("Fourfould-table:\n\n",
+   out_r( _("Fourfold-table:\n\n",
 		"Aufstellung der Vierfeldtafel: \n\n") );
    out_r( _(" |                   |  A existent   |  A not existent     |\n",
    		" |                   |  A vorhanden  |  A nicht vorhanden  |\n") );
diff -Naur cvs_statist/src/statist.c statist-1.1/src/statist.c
--- cvs_statist/src/statist.c	2005-02-02 16:11:46.000000000 -0200
+++ statist-1.1/src/statist.c	2005-02-05 15:04:26.000000000 -0200
@@ -87,7 +87,7 @@
    signal(SIGTERM, handle_term_interrupt);
 
 #ifndef NO_GETTEXT
-     setlocale (LC_MESSAGES, "");
+     setlocale (LC_ALL, "");
      bindtextdomain (PACKAGE, LOCALEDIR);
      textdomain (PACKAGE);
 #endif
@@ -210,11 +210,11 @@
 -nobell       : no beep at errors and warnings\n\
 -thist        : histogram as text graphic instead of gnuplot-graphic\n\
 -noplot       : no gnuplot-graphic\n\
--delrow	  : skip lines with missing values\n\
+-delrow       : skip lines with missing values\n\
 --bernhard    : special output changes from Bernhard, i.e.:\n\
-		- table output at miscelaneous/standard deviation\n\
-		- if -noplot defined no text histogram at\n\
-			miscelaneous/standard deviation\n\
+                - table output at Miscellaneous/Standard deviation\n\
+                - if -noplot defined no text histogram at\n\
+                      Miscellaneous/Standard deviation\n\
 \n",
 "Optionen:\n\
 -h, -help, -? : dieser Hilfetext\n\
@@ -230,7 +230,7 @@
 			- falls -noplot gegeben kein Texthistogramm bei\n\
 				Verschiedenes/Standardabweichung\n\
 \n") );
-out_d(_("Missing values must be indecated by '%c'\n",
+out_d(_("Missing values must be indicated by '%c'\n",
 	  "Fehlende Daten: müssen mit \"%c\" gekennzeichnet sein\n"), NODATA);
 }
 
@@ -338,7 +338,7 @@
 
   if (lno != 0) {
     sprintf(where, 
-    		_("(Modul %15s, line %i):\n  ",
+    		_("(Module %15s, line %i):\n  ",
 		"(Modul %15s Zeile %i):\n  "), modulname, lno);
     strncat(line, where, 254-strlen(line));
   }
diff -Naur cvs_statist/src/statist.h statist-1.1/src/statist.h
--- cvs_statist/src/statist.h	2005-02-02 16:11:46.000000000 -0200
+++ statist-1.1/src/statist.h	2005-02-05 15:44:39.058801728 -0200
@@ -31,7 +31,7 @@
 "--- (C) Dirk Melcher 1997-1999\n \
 Published by Bernhard Reiter 1998-2003.\n \
 STATIST comes with ABSOLUTELY NO WARRANTY; it is Free Software under GNU GPL.\n\
- Read the file COPYING for details.\n \
+ Read the file COPYING for details.\n\n \
 Hint: You can often answer \"%s\" for the number of columns.\n" , \
 "\nSTATIST --- Version %s "  \
 "--- (C) Dirk Melcher 1997-1999 unter der GNU GPL\n \

---

From: Bernhard Reiter <[email-masked]>
Date: Mon, 7 Feb 2005 11:01:07 +0100

On Sat, Feb 05, 2005 at 07:25:10PM -0300, Jakson Aquino wrote:
> I knowthat there is an Italian translation. 
> How can I get it?

italian_translation.patch
	Italien language support by Nicola Intini <[email-masked]>
	Note: add -p5 as option to patch when you are in the statist-1.0.0 dir

http://www.usf.uni-osnabrueck.de/~breiter/tools/statist/v1.0.0/contrib/

	Bernhard

---

From: Bernhard Reiter <[email-masked]>
Date: Mon, 7 Feb 2005 11:13:09 +0100

On Sat, Feb 05, 2005 at 07:25:10PM -0300, Jakson Aquino wrote:
> However, the de_DE.po file is with "no"

You can put in the list or me as interims translator,
because of course I do speak German. ;)
The German text actually is the original one
done by Dirk Melcher and Andreas Beyer made the English translation later.

> change something to make the use of my patches easier.

Diff usage looks fine to me.

It sometimes takes a while until I have time to visit changes.
At Intevation we want to set up a new platform for projects like
this based on Gforge, then contributions will even be easier.

> Makefile. I added the rule, although Statist was

Makefiles have build in rules for c files,
but this denies the dependencies, so it better shall be in.

---

From: Jakson Aquino <[email-masked]>
Date: Tue, 8 Feb 2005 16:49:30 -0300 (ART)

Hello All!

I finished some tasks related with the full
internationalization of Statist. I made the new
patches translanting the comments that still were in
German, and updated the new po directory, now
including the Italian translation. To avoid sending
emails with attachments biger than 40 kb, I put the
new files on the web at the following address:

htpp://www.geocities.com/jakson-aquino/statist.html

To create and update the .po files I always followed
some steps:

1) Used xgettext to extracted the messages and their
translations from the source code. (he exception was
the Portguese translation, made directly in the .po
file).
2) Typed "make po" to update the strings.
3) Looked at each translation marked as "fuzzy" by
msgmerge. When possible, the problem was corrected
consulting the original patch (es and it) or source
code (de).
4) Looked at each msgid that was not translated, and
again looked the source
to find the translation.
5) Typed "make mo" to see if there were syntax
problems in the .po files.
6) Ran statist in different languages to have fun!

I removed the comentary "fuzzy" when I could correct
the translation. But, some few translation still are
marked as fuzzy.

Best,

Jakson

__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger 
http://br.download.yahoo.com/messenger/

---

From: Bernhard Reiter <[email-masked]>
Date: Sun, 20 Feb 2005 14:13:34 +0100

Am  5. Feb 2005 um 19:25:10 schrieb Jakson Aquino:

> problems in the English original ones.

> statist.pot and I corrected them in the source code:

The following two are names fo special tests, so I had to look them up
and found that the new version is better in both cases.

>   SPEARMANN => SPEARMAN

I have to check the following change more thorougly as
"quantile" is a statistical term and is correct.

E.g. see: http://mathworld.wolfram.com/Quantile.html
	The word quantile has two meanings in probability. Specific
	elements x in the range of a variate X are called quantiles, and
	denoted x (Evans et al. 2000, p. 5). 

	The kth n-tile  is that value of x, say , which corresponds to a
	cumulative frequency of  (Kenney and Keeping 1962). If n = 4, the
	quantity is called a quartile, and if n = 100, it is called a
	percentile. 

> Note: The last one (get_quantile) is the name of a

I have to check later what that function does anywhere, 
it does not seem to get called. Maybe it can be cleaned out...

---

From: Bernhard Reiter <[email-masked]>
Date: Sun, 20 Feb 2005 14:39:52 +0100

> as r² (r + 0xb2) and mu is now µ (0xb5).

I want to do one commit with the solution to the gnuplot and data
files formats.

> submitting these changes in the statist_gettext_patch:

In CVS now, except the get_quantile() change;
I have found some places where I could make some
minor improvements (I hope).

Thanks again for the patches,
	Bernhard

---

From: Bernhard Reiter <[email-masked]>
Date: Sun, 20 Feb 2005 14:54:59 +0100

Am  5. Feb 2005 um 19:25:10 schrieb Jakson Aquino:
> de_DE). 

Which version of msgmerge is needed at least?
msgmerge (GNU gettext) 0.10.40
does not have the -U flag,
and msgmerge (GNU gettext-tools) 0.13.1 has it.

> Typing "make mo" compiles the .po files and

Another possible improvement would be to use one place
to configure the installation prefix "/usr/share/locale"
and document it. 

	Bernhard

---

From: Bernhard Reiter <[email-masked]>
Date: Sun, 20 Feb 2005 15:03:33 +0100

> created one with Portuguese, Spanish and German

I checked in your improved po files and the directory.
They will be out of date a bit, because of some minor changes I did.

This is untested by me, as on the machine I did not have a very
mondern gettext and there is no mechanism to check this without
installing it as root.

Jakson: If you like, I can give you CVS writte access, this probably
will make it easier for you to update the translations.

Best,
	Bernhard

---

From: Jakson Aquino <[email-masked]>
Date: Tue, 22 Feb 2005 11:21:02 -0300 (ART)

Hi Bernhard,

I didn't realized it. But, in fact, "grep quantile
*.c" returns only one occurrence of "get_quantile".
And, what get_quantile() does can also be done with
percentiles(), which is called by "Miscellaneous |
Percentiles". 

Certainly get_quantile() can be cleaned out!

Jakson

 --- Bernhard Reiter <[email-masked]>

---

From: Bernhard Reiter <[email-masked]>
Date: Tue, 22 Feb 2005 21:00:50 +0100

> Certainly get_quantile() can be cleaned out!

I checked back to 0.11.b010 and even it was not used.
So removed now in CVS.

---

From: Bernhard Reiter <[email-masked]>
Date: Wed, 23 Feb 2005 19:30:42 +0100

Hi Jakson,

any news on the Italian translation?
E.g. are you planning to add the corresponding po file?

	Bernhard

---

From: Jakson Aquino <[email-masked]>
Date: Thu, 24 Feb 2005 09:33:01 -0300 (ART)

Hi Bernhard,

I don't have the Italian translation here in this
computer, but some days ago I put it in:

http://www.geocities.com/jakson-aquino/statist.html

Almost all patches are there too. Perhaps I forgot to
tell this in an email :)

Best,

Jakson

---

From: Bernhard Reiter <[email-masked]>
Date: Thu, 24 Feb 2005 17:05:17 +0100

> any news on the Italian translation?

Jakson had put it on

I just added it to CVS (and improved the Makefile slightly while doing so.)

---

From: nicola intini <[email-masked]>
Date: Mon, 28 Feb 2005 00:30:17 +0100

Hi statist developers
do you need some help for the italian translation?
I see that the big work has been done (putting all in gettext). I was not able 
to do it.
If you need some help in translating or completing...
I will take a look.
Ciao
Nicola

---

From: Bernhard Reiter <[email-masked]>
Date: Mon, 28 Feb 2005 10:15:19 +0100

Hi Nicola,

Am 28. Feb 2005 um 00:30:17 schrieb nicola intini:
> I see that the big work has been done (putting all in gettext). 

Yes, thanks to Jakson!

> If you need some help in translating or completing...

I think that I first need to 
	* integrate Jakson's proposal for handling of LC_NUMERIC
	* integrate Jakson's changes for missing value handling
	* try to autogenerate the German .po from the source

and then we are ready for a new release of statist
and would welcome updates of each translation.

Of course you can start earlier, if you wish. ;)

	Bernhard