docs/dev/translation.rst
.. _translation:
.. _translate.codeberg.org: https://translate.codeberg.org/projects/searxng/ .. _Weblate: https://docs.weblate.org .. _translations branch: https://github.com/searxng/searxng/tree/translations .. _orphan branch: https://git-scm.com/docs/git-checkout#Documentation/git-checkout.txt---orphanltnewbranchgt .. _Weblate repository: https://translate.codeberg.org/projects/searxng/searxng/#repository .. _wlc: https://docs.weblate.org/en/latest/wlc.html
.. |translated| image:: https://translate.codeberg.org/widgets/searxng/-/searxng/svg-badge.svg :target: https://translate.codeberg.org/projects/searxng/
.. sidebar:: |translated|
searx.babel_extracttranslations branch_Weblate repository_pybabel <http://babel.pocoo.org/en/latest/cmdline.html>_weblate workflow <https://docs.weblate.org/en/latest/workflows.html>_Translation takes place on translate.codeberg.org_.
Translations which has been added by translators on the translate.codeberg.org_ UI are
committed to Weblate's counterpart of the SearXNG origin repository which is
located at https://translate.codeberg.org/git/searxng/searxng.
There is no need to clone this repository, :ref:SearXNG Weblate workflow take
care of the synchronization with the origin. To avoid merging commits from
the counterpart directly on the master branch of SearXNG origin, a pull
request (PR) is created by this workflow.
Weblate monitors the translations branch, not the master branch. This
branch is an orphan branch, decoupled from the master branch (we already know
orphan branches from the gh-pages). The translations branch_ contains
only the
translation/messages.pot and thetranslation/*/messages.po files, nothing else... _SearXNG Weblate workflow:
.. figure:: translation.svg
SearXNG's PR workflow to be in sync with Weblate
Sync from origin to weblate: using make weblate.push.translations
For each commit on the master branch of SearXNG origin the GitHub job
:origin:babel / Update translations branch <.github/workflows/integration.yml> checks for updated translations.
Sync from weblate to origin: using make weblate.translations.commit
Every Friday, the GitHub workflow :origin:babel / create PR for additions from weblate <.github/workflows/translations-update.yml> creates a PR with the
updated translation files:
translation/messages.pot,translation/*/messages.po andtranslation/*/messages.mo.. _wlc configuration: https://docs.weblate.org/en/latest/wlc.html#wlc-config .. _API key: https://translate.codeberg.org/accounts/profile/#api
All weblate integration is done by GitHub workflows, but if you want to use wlc_,
copy this content into wlc configuration_ in your HOME ~/.config/weblate
.. code-block:: ini
[keys] https://translate.codeberg.org/api/ = APIKEY
Replace APIKEY by your API key_.