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 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 language’s two-letter ISO 639 code. This make call reduces the English documentation files to bare skeleton files that are eventually moved to the directory Documentation/MY-LANGUAGE/, exactly mimicking the directory and file structure of Documentation/en/.

However, all include files still have the en/ prefix, making it load the English documentation. If you plan to translate, say, file foo.itely, and your language code is ‘xy’; you should replace

@include{en/foo.itely}

with

@include{xy/foo.itely}

so that your translated text gets incorporated into the translated document.

Finally, add entries for the new language to the following files:

python/langdefs.py
Documentation/lilypond-lang.init
Documentation/webserver/lilypond.org.htaccess
scripts/build/create-weblinks-iteci.py
ROADMAP

A Texinfo language definition file is also needed:

Documentation/tex/txi-MY-LANGUAGE.tex

The Texinfo distribution itself contains a large number of such language definition files; take the one you need and simply copy it. If you are translating to a language for which no such file is available and you are going to write it, please contribute it to the Texinfo project, too!


LilyPond Contributor’s Guide v2.25.22 (development-branch).