On Sat, Oct 05, 2024 at 01:02:03PM +0200, Patrice Dumas wrote:
> On Sat, Oct 05, 2024 at 11:28:53AM +0100, Gavin Smith wrote:
> > I see that this was fixed in commit b0eb920e16320727196c (2024-10-03);
> > however the effect of this is that all the translated versions of these
> > strings will now be wrong:
> > 
> > - - Variable d\'instance de fr : BBB CCC
> > + -- Variable d\'instance of fr: BBB CCC
> >       erreur→
> > 
> > I see two ways of fixing this.  One is to change it back to the way
> > the code was before.  The other is to use the
> > po_document/adjust-translations.pl script (which would be more work).
> > Any suggestions?
> 
> The previous output was incorrect, as the whole definition line was
> formatted as code, which is incorrect for the category of the definition,
> which is normal text.  Now, the translation tree arguments are formatted
> as code when needed (for {class}, {name}, {type} {arguments}), but the
> whole line is formatted as normal text.

It may have been incorrect, but "fixing" it has made the output worse...

> I can imagine other ways to obtain the same result, for instance using
> @t{--}, or outputting separately the leading '@tie{}--- ' and the
> remaining, but those options entail a change in the translations.
> 
> There could be an option, maybe, which would be to add a new pseudo
> type _no_code such that code style is removed for {category} but the
> whole line is formatted as code.  Would that be better?

I think it's better to patch the translations as a temporary measure as
this entails no extra complexity.  Eventually translators will update
the translated strings.

Here's a change to adjust-translations.pl to do this:

diff --git a/po_document/adjust-translations.pl b/po_document/adjust-translation
s.pl
index c35f7b3fdb..fed6a5d99e 100755
--- a/po_document/adjust-translations.pl
+++ b/po_document/adjust-translations.pl
@@ -30,6 +30,9 @@ if (!close ($fh)) {
 #
 $data =~ s/#, fuzzy\n((#.*\n)*msgctxt)/$1/g;
 
+# Translated string changed -- to ---
+$data =~ s/#, fuzzy, perl-brace-format\n#\| msgid "\@tie\{\}-- .*\n(msgid "\@ti
e\{)/$1/g;
+
 # Overwrite original file
 print $data >$input_file;
 if (!open($fh, '>', $input_file)) {


I will commit this once I have updated the test results.

Reply via email to