translation.rst 1.89 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

GNU Mailman project uses Weblate_ for translations. If you are interested to
port Mailman to various languages, please head over to Weblate_ and create an
account to get started with translations.

Weblate has very good documentation on how to use it:

Please do not create Merge Requests for translations since it can create merge
conflicts when pulling changes from Weblate and break automation which pulls
and pushes changes between Gitlab_ and Weblate_.

Abhilash Raj's avatar
Abhilash Raj committed
16 17 18 19 20 21 22 23 24
Offline translations
If you have existing translated ``.po`` files, or you would prefer to work Offline,
you can download the ``.po`` files from Weblate and upload them through the web
interface whe you are done. This helps with keeping the merge request based workflow
to ingest translations from Weblate and still allowing folks to use their preferred
local editing environment.

Please see Weblate's documentation on `downloading and uploading po files`_. 
25 26 27 28 29 30 31 32 33 34 35

Integration with Weblate

Integration with source control in Gitlab_ and translation project in Weblate_
works using webhooks and some scripts.

Weblate supports webhooks for notifications when there are changes to the
source control. This allows pulling changes to source strings from Gitlab by
adding a webhook notification in Gitlab.

Abhilash Raj's avatar
Abhilash Raj committed
36 37 38 39
Translations are converted to Git commits in Weblate and it is configured to
send back those commits as Merge Requests, every 24 hours, to Mailman's Gitlab
projects. Each commit corresponds to a single Author and Language. We do not 
squash these commits so as to retain the original commits with Authorship info.
40 41 42 43

.. _Weblate:
.. _Gitlab:
Abhilash Raj's avatar
Abhilash Raj committed
.. _`downloading and uploading po files`: