Peter, 

running "make update-po" in backend/po/ I'm always getting very short .po
files and the .pot file is also about 7K. It seems to be the fact that
xgettext gets text only from postgres.c and postmaster.c. What's the
problem? Version: beta3 and beta5 (I didn't try beta4 but it's certainly
the same).

Regards, Zoltan

-- 
                         Kov\'acs, Zolt\'an
                         kovacsz@pc10.radnoti-szeged.sulinet.hu
                         http://www.math.u-szeged.hu/~kovzol
                         ftp://pc10.radnoti-szeged.sulinet.hu/home/kovacsz


Wed, 16 Jan 2002 15:09:07 +0100 (CET)
Kovacs Zoltan <kovacsz@pc10.radnoti-szeged.sulinet.hu>
backend/po, make update-po works strange
Kovacs Zoltan writes:

> running "make update-po" in backend/po/ I'm always getting very short .po
> files and the .pot file is also about 7K. It seems to be the fact that
> xgettext gets text only from postgres.c and postmaster.c. What's the
> problem? Version: beta3 and beta5 (I didn't try beta4 but it's certainly
> the same).

Since the postgres.pot file has nearly 400 dependency files (all backend
source files), it is currently handled in an odd way.  Observe this:

peter ~/pgsql/src/backend/po$ make init-po
find ./.. -name '*.c' -print >gettext-files
xgettext --foreign-user -ctranslator -D . -n -kelog:2 -kpostmaster_error -f gettext-files
mv messages.po postgres.pot

If the "find" somehow messes up you will get an incomplete .pot file.
Also note that there are no prerequisites declared for the file
"gettext-files".  That is, if it's wrong or outdated you need to remove it
first.

Suggestions for improvement welcome.

-- 
Peter Eisentraut   peter_e@gmx.net


Wed, 16 Jan 2002 12:40:10 -0500 (EST)
Peter Eisentraut <peter_e@gmx.net>
Re: backend/po, make update-po works strange
On Wed, 16 Jan 2002, Peter Eisentraut wrote:

> Kovacs Zoltan writes:
> 
> > running "make update-po" in backend/po/ I'm always getting very short .po
> > files and the .pot file is also about 7K. It seems to be the fact that
> > xgettext gets text only from postgres.c and postmaster.c. What's the
> > problem? Version: beta3 and beta5 (I didn't try beta4 but it's certainly
> > the same).
> 
> Since the postgres.pot file has nearly 400 dependency files (all backend
> source files), it is currently handled in an odd way.  Observe this:
> 
> peter ~/pgsql/src/backend/po$ make init-po
> find ./.. -name '*.c' -print >gettext-files
> xgettext --foreign-user -ctranslator -D . -n -kelog:2 -kpostmaster_error -f gettext-files
> mv messages.po postgres.pot
> 
> If the "find" somehow messes up you will get an incomplete .pot file.
> Also note that there are no prerequisites declared for the file
> "gettext-files".  That is, if it's wrong or outdated you need to remove it
> first.
> 
> Suggestions for improvement welcome.

I'm afraid the problem is that there are too few `gettext(...)'s in the
whole code in backend/. The file "gettext-files" is quite big: 10106 bytes
after each run of "make". I got the same result with "make init-po" and
"make update-po" (after "make maintainer-clean", of course). Perhaps the
original (>250K) .pot file was created with a different method...?

An example: parser/parse_agg.c contains an elog error at line 111 without
any gettext call. In opposite, postmaster/postmaster.c at line 290
contains an fprintf with a gettext call. Why the difference? Of course,
the second string will appear in postgres.pot and the first one
won't. File "gettext-files" contains both file.

Unfortunately this is only the first day I started to read the docs about
gettext, sorry...

TIA, Zoltan

-- 
                         Kov\'acs, Zolt\'an
                         kovacsz@pc10.radnoti-szeged.sulinet.hu
                         http://www.math.u-szeged.hu/~kovzol
                         ftp://pc10.radnoti-szeged.sulinet.hu/home/kovacsz


Wed, 16 Jan 2002 21:00:54 +0100 (CET)
Kovacs Zoltan <kovacsz@pc10.radnoti-szeged.sulinet.hu>
Re: backend/po, make update-po works strange
Kovacs Zoltan <kovacsz@pc10.radnoti-szeged.sulinet.hu> writes:
> An example: parser/parse_agg.c contains an elog error at line 111 without
> any gettext call. In opposite, postmaster/postmaster.c at line 290
> contains an fprintf with a gettext call. Why the difference? Of course,
> the second string will appear in postgres.pot and the first one
> won't. File "gettext-files" contains both file.

The elog() strings are supposed to be picked up without any additional
marking.  Sounds like you are using the wrong procedure for extracting
the strings.  But I dunno what the right procedure is ...

			regards, tom lane

Wed, 16 Jan 2002 15:18:48 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: backend/po, make update-po works strange 
Kovacs Zoltan writes:

> An example: parser/parse_agg.c contains an elog error at line 111 without
> any gettext call. In opposite, postmaster/postmaster.c at line 290
> contains an fprintf with a gettext call. Why the difference? Of course,
> the second string will appear in postgres.pot and the first one
> won't. File "gettext-files" contains both file.

Ah, you need to have GNU gettext 0.10.36 or later.

-- 
Peter Eisentraut   peter_e@gmx.net


Wed, 16 Jan 2002 16:01:35 -0500 (EST)
Peter Eisentraut <peter_e@gmx.net>
Re: backend/po, make update-po works strange
Peter Eisentraut <peter_e@gmx.net> writes:
> Also note that there are no prerequisites declared for the file
> "gettext-files".  That is, if it's wrong or outdated you need to remove it
> first.

> Suggestions for improvement welcome.

Seems like it would be somewhat better if a plain "make clean" removes
gettext-files, not only maintainer-clean.  It's not like anyone hasn't
got "find", or even that "find" takes unreasonably long ...

			regards, tom lane

Wed, 16 Jan 2002 16:30:54 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: backend/po, make update-po works strange 