The documentation and its translations reside in subdirectories. When building the documentation, the toplevel Makefile goes into the subdirectories listed in the SUBDIRS variable and executes make in each of those directories to create the HTML documentation in subdirectories of the 'HTML' and 'HTML-single' directories. IMPORTANT: Do NOT place sensitive files under 'HTML' or 'HTML-single'! It is for generated documentation only. The whole directory tree is wiped out by the Makefile when running 'make distclean' or 'make clean'. Also, subdirectories are wiped out one by one before creating the HTML files. Each subdirectory must have a Makefile. Its purpose is to include the toplevel Makefile.inc file (with the rules to build the docs) and add dependency information to the main target, $(HTMLDIR)/index.html. The main target usually depends on all the XML and XSL files in the subdirectory. (Note that the toplevel *.xsl files are added automatically by Makefile.inc, so you do not have to list them.) Adding new translations ~~~~~~~~~~~~~~~~~~~~~~~ 1) Create a new subdirectory and copy the XML files there. main.xml must not be copied, it is autogenerated. 2) Make sure to create a 'Makefile' for the translation -- you can use 'en/Makefile' as an example. 3) If you want to use a customized XSL stylesheet, create one and name it 'html-common.xsl'. Also create two additional XSL stylesheets ('html-single.xsl' and 'html-chunk.xsl'), with content such as this: html-single.xsl: html-chunk.xsl: Note: You mustn't xsl:include or xsl:import chunk.xsl directly! Including it can (and will) break building of documentation if chunk.xsl is installed at a nonstandard location. 4) If you wish to change the output encoding of generated files, create html-common.xsl as suggested in step 4) and add strings such as these somewhere between the and tags (please, pay attention to quotes): 5) If you are using your own HTML stylesheet, edit your Makefile and set the HTML_STYLESHEET variable to its name. Please, don't call your HTML stylesheet 'default.css'. 6) In each translated file after the tag you must put a note like , where 2 is the revision of corresponding English file (see comment at the top of file). 7) While your translation isn't finished, you can change USE_SYMLINKS to "yes" in your Makefile. This will help you testing your translation: English files will be used instead of untranslated ones, when generating HTML docs. That's all, in theory.