Package: libc6
Version: 2.11.2-2
Severity: normal
Tags: upstream

Hi.

argp tries to localise strings from its source (like "Usage:" or "Give
a short usage message") using default text domain, which fails (unless
program copies translations from libc po files to its own). It is
demonstrated by the following program:
#v+
% cat argptest.c
#include <argp.h>
#include <locale.h>
#include <libintl.h>

struct argp argp;

int main (int argc, char * argv[])
{
        setlocale (LC_ALL, "");
        argp_parse (&argp, argc, argv, 0, NULL, NULL);
        return 0;
}
% ./argptest --help
Usage: argptest [OPTION...]

  -?, --help                 Give this help list
      --usage                Give a short usage message
#v-

Adding textdomain("libc") call before argp_parse() changes output to:
#v+
% ./argptest --help
Składnia: argptest [OPCJA...]

  -?, --help                 Wyświetlenie tego tekstu pomocy
      --usage                Wyświetlenie krótkiej informacji o składni
                             polecenia
#v-

Setting argp.argp_domain = "libc" doesn't help, messages are
untranslated.

Jarek Kamiński.

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (100, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=pl_PL, LC_CTYPE=pl_PL (charmap=ISO-8859-2) (ignored: LC_ALL set to 
pl_PL)
Shell: /bin/sh linked to /bin/dash

Versions of packages libc6 depends on:
ii  libc-bin                      2.11.2-2   Embedded GNU C Library: Binaries
ii  libgcc1                       1:4.4.4-7  GCC support library

Versions of packages libc6 recommends:
ii  libc6-i686                    2.11.2-2   GNU C Library: Shared libraries [i

Versions of packages libc6 suggests:
ii  debconf [debconf-2.0]         1.5.33     Debian configuration management sy
ii  glibc-doc                     2.11.2-2   Embedded GNU C Library: Documentat
ii  locales                       2.11.2-2   Embedded GNU C Library: National L

-- debconf information excluded
#include <argp.h>
#include <locale.h>
#include <libintl.h>

struct argp argp;

int main (int argc, char * argv[])
{
	setlocale (LC_ALL, "");
	argp_parse (&argp, argc, argv, 0, NULL, NULL);
	return 0;
}

Reply via email to