Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2002:
[Freeciv-Dev] Re: ngettext undefined during make (PR#1238)
Home

[Freeciv-Dev] Re: ngettext undefined during make (PR#1238)

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx, bugs@xxxxxxxxxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: ngettext undefined during make (PR#1238)
From: Reinier Post <rp@xxxxxxxxxx>
Date: Thu, 24 Jan 2002 10:14:27 +0100

On Thu, Jan 24, 2002 at 08:46:17AM +0100, Raimar Falke wrote:

> > Doing './configure --disable-nls && make' compiles and runs fine.
> 
> Short answer: upgrade your gettext package to 0.10.38 or above.

This means autoconf should test for the right gettext version.

> Long answer: This is a bit more complicated. The whole gettext stuff
> is divided into the two parts: functions(dcgettext and co) and
> binaries(xgettext and co). Note that gettext and ngettext are both
> functions and binaries.

The "missing msgfmt problem" reported earlier is another manifestation.

> The function part is included in the glibc. If you don't have glibc or
> the glibc hasn't the correct version you can the use the functions
> which came with freeciv (which are of version 0.10.38).

Most platforms don't come with glibc.

> The binaries for gettext 0.10.38 aren't included in freeciv (which is
> annoying but no other project ships them).

Binaries can't be shipped, they're platform dependent.

However, I think the distinction is really a different one, namely, a part
of gettext is required at use time (this is the part that many software
packages, including Freeciv, include with the distribution) and another
part is required at translation time (this is the part that contains
binaries and that we keep having trouble with).

> The recently introduced PL_ macro uses the plural format and this
> format is only implemented in gettext 0.10.38 or above. So you can use
> --with-included-gettext to get the functions but have to provide
> 0.10.38 binaries.

For translators, yes.  As far as I can see, this means there should be
two separate checks: one for a compilation process that only needs to
produce an intled Freeciv, and another for a compilation process that
involves the creation of new translations.  The first one should check
with the system-distributed gettext and see if it can be used; however,
the included gettext should always be good enough.  The second one should
check, and require, that the translator-specific part of gettext (which is
not included with Freeciv, so it must be installed on the host) can be used
for active translation.  This second check is part of 'maintained mode'.

Is this correct?

>       Raimar

-- 
Reinier


[Prev in Thread] Current Thread [Next in Thread]