1===========================
2Virt-Viewer Message Translation
3===========================
4
5.. image:: https://translate.fedoraproject.org/widgets/virt-viewer/-/virt-viewer/multi-auto.svg
6     :target: https://translate.fedoraproject.org/engage/virt-viewer/
7     :alt: Translation status
8
9Virt-Viewer translatable messages are maintained using the GNU Gettext tools and
10file formats, in combination with the Fedora Weblate web service.
11
12https://translate.fedoraproject.org/projects/virt-viewer/virt-viewer/
13
14Source repository
15=================
16
17The virt-viewer GIT repository stores the master "virt-viewer.pot" file, which is to be
18refreshed at time of feature freeze.
19
20The "po" files stored in GIT have source locations removed in order to cut down
21on storage size, by eliminating information already present in the "pot" file.
22All files are stored with strings sorted in alphabetical order rather than
23source location order, to minimize movement of strings when source locations
24change.
25
26The "po" files are to be EXCLUSIVELY UPDATED by merge requests sent from the
27Fedora Weblate service. Other contributors MUST NEVER send changes which touch
28the "po" file content, as that will create merge conflicts for Weblate. IOW any
29bug fixes to translations should be made via the Weblate application UI.
30
31After the "pot" file in virt-viewer GIT, Weblate will automatically run "msgmerge"
32to update the "po" files itself and send back a merge request with the changes.
33
34Translation updates made in the Weblate Web UI will be committed to its fork of
35the GIT repo once a day. These commits will be submitted back to the master GIT
36repo via merge requests. If a merge request from Weblate is already open,
37commits will be added to this existing merge request. Weblate will take care of
38rebasing whenever changes happen in Git master. In order to avoid having to do
39translations merges 30 times a month, merge requests from Weblate will usually
40be left open until feature freeze arrives. During the freeze period, they will
41be accepted more promptly to ensure they make it into the new release.
42