[libvirt PATCH 00/51] Use permutable format strings in translations

Daniel P. Berrangé berrange at redhat.com
Fri Mar 10 16:29:52 UTC 2023


On Fri, Mar 10, 2023 at 05:17:21PM +0100, Jiri Denemark wrote:
> On Fri, Mar 10, 2023 at 16:14:00 +0000, Daniel P. Berrangé wrote:
> > On Fri, Mar 10, 2023 at 05:09:16PM +0100, Jiri Denemark wrote:
> > > See 01/51 for rationale. Enforced by the last two patches of this
> > > series. The rest is quite boring mechanical update, partially done using
> > > a perl oneliner
> > > 
> > >     perl -pe 'for (my $i=1; $i<=12; $i++) { s/(N?_\("[^"]*?%)([^%$ ]*[a-zA-Z][^"]*")/\1$i\$\2/; }'
> > > 
> > > and tuned manually to fix cases not covered by the regexp above and to
> > > merge multiline messages into a single line. I merged only those that
> > > were touched anyway. Some very long messages consisting of several
> > > sentences were merged only partially and split on sentence boundary.
> > > 
> > > I will also update libvirt.pot once this is pushed.
> > 
> > Are we *100% sure* weblate is going to handle this intelligently.
> > 
> > This will change almost all of the msgid strings in libvirt.pot,
> > and translations are associatd with msgid strings.
> > 
> > IOW, this risks throwing all our translations away putting us back
> > to near zero translation coverage, unless weblate is intelligent
> > enough to map numbered format strings, to non-numbered format
> > strings, and I'm not convinced that it can do that.
> 
> I don't know is there a way to check this? Technically we should be able
> to update the translations as well to make sure we don't lose any work
> done by translators. But can that be pushed into weblate somehow (I
> guess it must have some kind of import in case you do the translation in
> a separate tool).

Yes, there is a mechanism to import that I used when first setting
up weblate, but I can't remember exactly what it was now. I do
recall, however, that it was *immensely* slow and continually
pushed weblate into OOM death due to the large number of string
in libvirt.pot. Took me days to get everything imported :-(


Technically we should really not have to modify the .pot at all,
as it is valid to use numbered format strings in the translation
regardless of whether the .pot uses them.

The main downside is that weblates c-format check is broken so
will complain that the translation format is wrong, despite being
correct. 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


More information about the libvir-list mailing list