|  | @@ -5,45 +5,76 @@ Translation
 | 
	
		
			
				|  |  |  ===========
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  .. _weblate.bubu1.eu: https://weblate.bubu1.eu/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://weblate.bubu1.eu/projects/searxng/searxng/#repository
 | 
	
		
			
				|  |  | +.. _wlc: https://docs.weblate.org/en/latest/wlc.html
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Translation takes place on `weblate.bubu1.eu`_ ( `documentation <https://docs.weblate.org/en/latest/index.html>`_ ).
 | 
	
		
			
				|  |  | +.. |translated| image:: https://weblate.bubu1.eu/widgets/searxng/-/searxng/svg-badge.svg
 | 
	
		
			
				|  |  | +   :target: https://weblate.bubu1.eu/projects/searxng/
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -New messages on the master branch are extracted and pushed to Weblate automatically.
 | 
	
		
			
				|  |  | +.. sidebar:: |translated|
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Every Friday, a GitHub workflow creates a pull request with the updated translations (messages.mo, messages.po, messages.mo files).
 | 
	
		
			
				|  |  | +   - 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>`_
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -.. image:: https://weblate.bubu1.eu/widgets/searxng/-/searxng/svg-badge.svg
 | 
	
		
			
				|  |  | -   :target: https://weblate.bubu1.eu/projects/searxng/
 | 
	
		
			
				|  |  | +Translation takes place on weblate.bubu1.eu_.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Translations which has been added by translators on the weblate.bubu1.eu_ UI are
 | 
	
		
			
				|  |  | +committed to Weblate's counterpart of the SearXNG *origin* repository which is
 | 
	
		
			
				|  |  | +located at ``https://weblate.bubu1.eu/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 integration
 | 
	
		
			
				|  |  | -===================
 | 
	
		
			
				|  |  | +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
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Weblate monitors the `translations branch <https://github.com/searxng/searxng/tree/translations>`_, not the master branch.
 | 
	
		
			
				|  |  | +- ``translation/messages.pot`` and the
 | 
	
		
			
				|  |  | +- ``translation/*/messages.po`` files, nothing else.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -This branch contains only the .pot and pot files, nothing else.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Documentation
 | 
	
		
			
				|  |  | --------------
 | 
	
		
			
				|  |  | +.. _SearXNG Weblate workflow:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -* `wlc <https://docs.weblate.org/en/latest/wlc.html>`_
 | 
	
		
			
				|  |  | -* `pybabel <http://babel.pocoo.org/en/latest/cmdline.html>`_
 | 
	
		
			
				|  |  | -* `weblate workflow <https://docs.weblate.org/en/latest/workflows.html>`_
 | 
	
		
			
				|  |  | +.. figure:: translation.svg
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Worfklow
 | 
	
		
			
				|  |  | ---------
 | 
	
		
			
				|  |  | +   SearXNG's PR workflow to be in sync with Weblate
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -.. image:: translation.svg
 | 
	
		
			
				|  |  | +Sync from *origin* to *weblate*: ``make babel.master.to.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*: ``make babel.translations.to.master``
 | 
	
		
			
				|  |  | +  Every Friday, the GitHub workflow :origin:`babel / translations: update master
 | 
	
		
			
				|  |  | +  branch <.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://weblate.bubu1.eu/accounts/profile/#api
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -All weblate integration is done by GitHub workflows, but if you want to use wlc, copy this content into `~/.config/weblate <https://docs.weblate.org/en/latest/wlc.html#wlc-config>`_ :
 | 
	
		
			
				|  |  | +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://weblate.bubu1.eu/api/ = APIKEY
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -Replace `APIKEY` by `your API key <https://weblate.bubu1.eu/accounts/profile/#api>`_.
 | 
	
		
			
				|  |  | +Replace ``APIKEY`` by your `API key`_.
 |