Describe the issue
It looks like Qt linguist's lupdate command prefers HTML entities and Weblate prefers the effective UTF-8 character.
I regularly run lupdate qml/ -ts translations/*.ts on my project (in CI), and use Weblate to translate.
Weblate regularly sends me diffs of the form:
- <translation>Whisperfish neu starten â€¦</translation>
+ <translation>Whisperfish neu starten …</translation>
and lupdate reverts that:
- <translation>Whisperfish neu starten …</translation>
+ <translation>Whisperfish neu starten â€¦</translation>
Since I'm running lupdate in CI (for line number tracking, mostly), this is getting quite noisy.
Especially since French seems also affected for some HTML entities.
I already tried
Describe the steps you tried to solve the problem yourself.
To Reproduce the issue
Steps to reproduce the behavior:
lupdate manuallyExpected behavior
On of the following:
lupdate shouldn't alter the entitiesScreenshots
n.a., I think the diffs above should be enough
Exception traceback
n.a.
Server configuration and status
weblate.org
Additional context
Public and open source project, here are the links:
This issue looks more like a support question than an issue. We strive to answer these reasonably fast, but purchasing the support subscription is not only more responsible and faster for your business but also makes Weblate stronger. In case your question is already answered, making a donation is the right way to say thank you!
The file formats are handled by https://github.com/translate/translate/, for most formats full serialization is done even on change, so these kind of differences can happen. In this particular case I'd prefer to fix translate-toolkit to save the strings in a same way as lupdate does. The question is what are the rules here - what should be stored as entities...
whisperfish/translations
❯ rg '&..?.?.?;' -oI --no-heading | sort | uniq
'
"
 
Honestly, given that my files have a UTF-8 XML header, I would expect Qt Linguist to be a good citizen and print them as UTF-8 too, but I don't think I'd be able to pull that off with Qt.
The issue you've reported needs to be addressed in the translate-toolkit. Please file the issue there, and include links to any relevant specifications about the formats (if applicable).
https://github.com/translate/translate/pull/4330 should address this.
Thank you for your report; the issue you have reported has just been fixed.