Back to Searxng

Translation

docs/dev/translation.rst

latest3.0 KB
Original Source

.. _translation:

=========== 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|

  • :ref:searx.babel_extract
  • Weblate_
  • SearXNG translations branch_
  • SearXNG Weblate repository_
  • Weblate Client: wlc_
  • Babel Command-Line: 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 the
  • translation/*/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 and
  • translation/*/messages.mo

wlc

.. _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_.