[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Document translations broken in Texinfo 7.0.90?
From: |
Gavin Smith |
Subject: |
Re: Document translations broken in Texinfo 7.0.90? |
Date: |
Tue, 26 Sep 2023 20:34:51 +0100 |
On Wed, Aug 30, 2023 at 06:19:53PM +0200, Patrice Dumas wrote:
> > I wonder if there is anything that can be done with the gettext API to
> > try for a translation both with and without a context. What occurs to
> > me is testing the return value of pgettext, seeing if it is equal to the
> > input string, and if it is (so the translation failed), calling gettext
> > instead (without the context).
>
> That could be a transitory measure to wait for translations to be
> updated. We could do that in particular if we notice that many
> translations are not updated for the official release.
This does not even work. I tried it with the latest de.po in the
"texinfo_document" domain. The de.po file has a line:
#: tp/Texinfo/Convert/HTML.pm:738 tp/Texinfo/Convert/HTML.pm:742
#: tp/Texinfo/Convert/HTML.pm:794
msgid "Next"
msgstr "Nächste"
which gives the translation of "Next" (without a context), but when
I run "make update-po" this line goes away, and we have lines like
the following instead:
#: tp/Texinfo/Convert/HTML.pm:2143
#, fuzzy
#| msgid "Next"
msgctxt "NodeNext direction string"
msgid "Next"
msgstr "Nächste"
I only got this translation to be used by removing the "#, fuzzy" line.
Info node (gettext)Translated Entries:
Each PO file entry for which the ‘msgstr’ field has been filled with
a translation, and which is not marked as fuzzy (*note Fuzzy Entries::),
is said to be a “translated” entry. Only translated entries will later
be compiled by GNU ‘msgfmt’ and become usable in programs. Other entry
types will be excluded; translation will not occur for them.
Also under (gettext)msgcmp Invocation:
‘--use-fuzzy’
Consider fuzzy messages in the DEF.po file like translated
messages. Note that using this option is usually wrong, because
fuzzy messages are exactly those which have not been validated by a
human translator.
I expect there is a solution to be found here, either by doing something
to change the operation of "make update-po" or other Makefile rules for
gettext, or otherwise stripping out some of the "#, fuzzy" lines from the
*.po files. I expect I'll be looking into this in the coming days, as it's
quite important to have a fix (even a short-term one) before the official
release.
You can see the progress of translation at
https://translationproject.org/domain/texinfo_document.html
and although many translations are updated completely, for those that
haven't been it is quite a severe drop in the number of translated strings,
from 195/195 to 138/208 (that's about 30%).