Check state of translation

Note: Translation helper scripts will work only if you have configured LilyPond to be built in-tree, see Running autogen.sh.

First pull from the git repository – see Git cheat sheet, but do not rebase unless you are sure to master the translation state checking and updating system – then cd into Documentation/ (or at top of the source tree, replace make with make -C Documentation) and run

make ISOLANG=MY-LANGUAGE check-translation

This presents a diff of the original files since the most recent revision of the translation and prints it to terminal output. Usually you’ll want to pass this output to a terminal pager like less in order to scroll the diff up and down:

make ISOLANG=MY-LANGUAGE check-translation | less -R

To check a single file, cd into Documentation/ and run

make TRANSLATION_FILES=MY-LANGUAGE/manual/foo.itely check-translation

In case this file has been renamed since you last updated the translation, you should specify both old and new file names, e.g., TRANSLATION_FILES=MY-LANGUAGE/{manual,user}/foo.itely.

To see only which files need to be updated, do

make ISOLANG=MY-LANGUAGE check-translation | grep -n 'diff --git'

The -n option of grep will print the line number of each occurrence, which can be used to estimate the length of each diff and the amount of work required.

To avoid printing terminal color control characters, which is often desirable when you redirect output to a file, run

make ISOLANG=MY-LANGUAGE NO_COLOR=1 check-translation

You can see the diffs generated by the commands above as changes that you should make in your language to the existing translation, in order to make your translation up to date.

Note: do not forget to update the committish in each file you have completely updated, see Updating translation committishes.

See also

Maintaining without updating translations.


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