LilyPond Contributor's Guide: 5.9.1 Getting started with documentation translation

### 5.9.1 Getting started with documentation translation

First, get the sources of branch `translation` from the Git repository, see Working with source code.

#### Translation requirements

Working on LilyPond documentation translations requires the following pieces of software, in order to make use of dedicated helper tools:

- Python 3.5 or higher,
- GNU Make,
- Gettext,
- Git.

It is not required to build LilyPond and the documentation to translate the documentation. However, if you have enough time and motivation and a suitable system, it can be very useful to build at least the documentation so that you can check the output yourself and more quickly; if you are interested, see Compiling.

Before undertaking any large translation work, contributors are encouraged to contact the Translation Meister.

#### Which documentation can be translated

The makefiles and scripts infrastructure currently supports translation of the following documentation:

- the web site, the Learning Manual, the Notation Reference and Application Usage – Texinfo source, PDF and HTML output; Info output might be added if there is enough demand for it;
- the Changes document.

Support for translating the following pieces of documentation should be added soon, by decreasing order of priority:

- automatically generated documentation: markup commands, predefined music functions;
- the Snippets List;
- the Internals Reference.

#### Starting translation in a new language

At top of the source directory, do

>     ./autogen.sh

or (if you want to install your self-compiled LilyPond locally)

>     ./autogen.sh --prefix=$HOME

If you want to compile LilyPond – which is almost required to build the documentation, but is not required to do translation only – fix all dependencies and rerun `./configure` (with the same options as for `autogen.sh`).

Then `cd` into ‘`Documentation/`’ and run

>     make ISOLANG=MY-LANGUAGE new-lang

where MY-LANGUAGE is the ISO 639 language code.

Finally, add a language definition for your language in ‘`python/langdefs.py`’, ‘`Documentation/lilypond-texi2html-lang.init`’ and ‘`Documentation/web/server/lilypond.org.htaccess`’. Add this language definition and the corresponding section in ‘`Documentation/lilypond-texi2html.init`’ and ‘`scripts/build/create-weblinks-itexi.py`’.

#### LilyPond — Contributor’s Guide v2.22.2 (stable-branch).