Contribute to Weblate documentation

You are welcome to improve the documentation page of your choice. Do it easily by clicking the Edit on GitHub button in the top-right corner of the page.

Documentation guidelines

Please respect these guidelines while writing:

  1. Don’t remove part of the documentation if it’s valid.

  2. Use clear and easily-understandable language. You are writing tech docs, not a poem. Not all docs readers are native speakers, be thoughtful.

  3. Don’t be afraid to ask if you are not certain. If you have to ask about some feature while editing, don’t change its docs before you have the answer. This means: You change or ask. Don’t do both at the same time.

  4. Verify your changes by performing described actions while following the docs.

  5. Send PR with changes in small chunks to make it easier and quicker to review and merge.

  6. If you want to rewrite and change the structure of a big article, do it in two steps:

    1. Rewrite

    2. Once the rewrite is reviewed, polished, and merged, change the structure of the paragraphs in another PR.

Building the documentation locally

Documentation can be also edited and built locally, the Python requirements are in the docs dependency group in pyproject.toml. If you already use the full development environment, uv sync --all-extras --dev is enough. For documentation work only, uv sync --group docs is sufficient.

The recommended local workflow is:

make -C docs update-docs
./ci/run-docs

The ci/run-docs wrapper builds the documentation with warnings treated as errors.

Hint

You will also need graphviz installed to build the documentation.

Translating the documentation

You can translate the docs.

Updating generated documentation snippets

Several documentation sections use templates generated from the code. The preferred way to refresh them is:

make -C docs update-docs

This target regenerates the snippets currently used by the documentation, including:

  • add-on events, built-in add-ons, and common add-on parameters

  • machine translation services

  • file format parameters and file format feature tables

  • permissions and built-in roles

  • checks and check flags

Keep manually maintained text in the parent documentation page rather than adding it to autogenerated snippets. For example, Add-ons includes three generated files for events, built-in add-ons, and common add-on parameters, while obsolete add-ons are maintained directly in the page.

If you need to regenerate only one part, the individual management commands are documented in Management commands, and the exact commands used by update-docs are listed in docs/Makefile.