On Thu, Nov 28, 2024 at 11:50:31PM +0100, Patrice Dumas wrote:
> I checked on a macos, and the failure happens only with LC_ALL=C.  This
> is something we already experienced in the past with libintl-perl.
> 
> Both Perl calling gettext and the C only teximakehtml call fail to
> translate strings.  So it seems to be a failure to switch locale in
> tp/Texinfo/XS/main/translations.c translate_string when LC_ALL is C.

I had a more in-depth look at what happen on macos-12, and I did not
find any lead on what could be wrong.

The switch_messages_locale in tp/Texinfo/XS/main/translations.c called
from translate_string to set first a non "C" locale manages to switch to
en_US.UTF-8, with LANG set to en_US.UTF-8 and LC_MESSAGES set from
setlocale to en_US.UTF-8 too.  Then LANGUAGE is set to "pt" and gettext
is called, but the string is not translated.

I tried to look at disc access with an equivalement of strace, I see no
access to the directory specified in bindtextdomain for the
texinfo_document domain.

The gettext libintl implementation actually used is from GNU gettext
0.22 (if I recall well, same as in the CI, installed by homebrew in an
/usr/local/opt directory), so it is quite unlikely that the issue is
there.

I have no idea where to look next.

-- 
Pat

Reply via email to