On Mon, Mar 27, 2023 at 15:37:34 +0100, Daniel P. Berrangé wrote:
On Mon, Mar 27, 2023 at 01:08:09PM +0200, Jiri Denemark wrote:
> On Fri, Mar 10, 2023 at 17:14:32 +0000, Daniel P. Berrangé wrote:
> > Even if fixed, it might be worth switching the .pot file anyway, but
> > this can't be done without us bulk updating the translations, and
> > bulk re-importing them, which will be challenging. We'll almost
> > certainly want to try this on a throw-away repo in weblate first,
> > not our main repo.
>
> I was able to come up with steps leading to the desired state:
>
> 0. lock weblate repository
> 1. update libvirt.pot from the most recent potfile job
> 2. push to libvirt.git
> 2. wait for translations update from Fedora Weblate and merge it
> 3. pull from libvirt.git
> 4. apply the first 50 patches from this seires (with required changes
> to make sure all translation strings are updated)
> 5. update all po files with the attached script
> 6. update libvirt.pot by running meson compile libvirt-pot
> 7. apply patch 51 of this series
> 8. push to libvirt.git
> 9. wait for translations update from Fedora Weblate and merge it
> 10. unlock weblate repository
>
> The process takes about an hour if we're lucky as weblate is quite slow
> when processing such large amount of changes.
>
> The result can be seen at
>
>
https://gitlab.com/jirkade/libvirt/-/commits/format-strings
>
> and the corresponding weblate repository at
>
>
https://translate.fedoraproject.org/projects/libvirt/test/
>
> I used d05ad0f15e737fa2327dd68870a485821505b58f commit as a base.
Looking at this, I picked a random language (Bengali) and compared
stats:
https://translate.fedoraproject.org/projects/libvirt/test/bn_IN/
vs
https://translate.fedoraproject.org/projects/libvirt/libvirt/bn_IN/
Translated strings matches to within 2 words, which is probably
accounted for by being based on different HEAD
Strings with failing checks is massively different, and that is
the fault of 'failing check: C format' - 1300 more failing checks
afterwards.
Oops, my random generator apparently selected wrong language where the
number of 'failing check: C format' issues was significantly lower then
before :-)
Anyway, I did what you suggested and updated the repositories
The content is now based on v9.2.0-rc1-8-geb677e3a10 which is just one
commit behind 9.2.0-rc2.
The fixes to whitespace and cpp string concatenation were sent
separately to the list earlier today.
Jirka