From murdoch@dunc@n @end|ng |rom gm@||@com  Fri Nov  5 16:12:20 2021
From: murdoch@dunc@n @end|ng |rom gm@||@com (Duncan Murdoch)
Date: Fri, 5 Nov 2021 11:12:20 -0400
Subject: [Rd] gettext(msgid, domain="R") doesn't work for some 'msgid':s
In-Reply-To: <CAFDcVCT0zPRGEG5ugr+yEbgKH57bo1MMwXRgh=q5y7OwAU1F0A@mail.gmail.com>
References: <CAFDcVCT0zPRGEG5ugr+yEbgKH57bo1MMwXRgh=q5y7OwAU1F0A@mail.gmail.com>
Message-ID: <000f4e2a-684d-e26b-2b1c-fabc28880d55@gmail.com>

On 05/11/2021 10:51 a.m., Henrik Bengtsson wrote:
> I'm trying to reuse some of the translations available in base R by using:
> 
>    gettext(msgid, domain="R")
> 
> This works great for most 'msgid's, e.g.
> 
> $ LANGUAGE=de Rscript -e 'gettext("cannot get working directory", domain="R")'
> [1] "kann das Arbeitsverzeichnis nicht ermitteln"
> 
> However, it does not work for all.  For instance,
> 
> $ LANGUAGE=de Rscript -e 'gettext("Execution halted\n", domain="R")'
> [1] "Execution halted\n"
> 
> This despite that 'msgid' existing in:
> 
> $ grep -C 2 -F 'Execution halted\n' src/library/base/po/de.po
> 
> #: src/main/main.c:342
> msgid "Execution halted\n"
> msgstr "Ausf?hrung angehalten\n"
> 
> It could be that the trailing newline causes problems, because the
> same happens also for:
> 
> $ LANGUAGE=de Rscript --vanilla -e 'gettext("error during cleanup\n",
> domain="R")'
> [1] "error during cleanup\n"
> 
> Is this meant to work, and if so, how do I get it to work, or is it a bug?

I don't know the solution, but I think the cause is different than you 
think, because I also have the problem with other strings not including 
"\n":

$ LANGUAGE=de Rscript -e 'gettext("malformed version string", domain="R")'
[1] "malformed version string"

Duncan Murdoch



[Rd] gettext(msgid, domain="R") doesn't work for some 'msgid':s
Duncan Murdoch