Bug#590577: libc6: argp looks strings from libc gettext text domain in default text domain
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 to: