There are two items to check if you finished translating a documentation, namely spelling of the words and syntax of the XML markup.
You could use the spell checker which is built into Lokalize ( → ). This spell checker can be configured through the Regional & Language page of System Settings (Spelling).
To check the XML syntax you have to generate the translated XML documentation (DocBook) from the
PO
file. After that you can check the XML syntax of thisdocbook
file with an XML parser. You have at least two possibilities to choose from, depending on whether you have only one documentation file or the necessary part of the whole source tree of the documentation for your language:If you have at least the necessary part (the part where the
PO
file in question resides) of the source tree of the package l10n-kf5 for your language and the doc part of the source tree of the package for the translated program (the part where the Englishdocbook
file in question resides), you could use the script update_xml (part ofl10n-scripty
). You also need to have po2xml in your path, as it is called by this script. The script generates thedocbook
files from the correspondingPO
files for that language. The script takes the language to compile as first command line parameter, so if your language directory is named$LANGUAGE
, you type./l10n-scripty/update_xml
to start the script. The script updates all files it can find in your language tree. If you only want to update a certain package or program, you can add it as second parameter to update_xml. For example, to update the German translation package kdemultimedia:$LANGUAGE
scripts/update_xml de kdemultimedia
or the German translation application JuK:
scripts/update_xml de kdemultimedia juk
update_xml automatically calls the XML checker checkXML5 which makes it validate the generated XML document. If the parsing process fails, it will tell you the line numbers and error messages.
Note
If checkXML5 fails then update_xml will automatically remove the file with errors. That is for safety to ensure that the DocBook files for every language compile. Sometimes this feature prevents you from finding errors, since the error messages print the corresponding line numbers in the
docbook
file and you are not able to check the context because this file is automatically deleted. Therefore the option
was added by Stephan. But keep in mind not to check this file with errors into the SVN tree or else your language will fail to compile until this file is removed or corrected.--nodelete
If you do not have the above requirements you may call po2xml yourself and generate the
docbook
file. For this to work po2xml needs the Englishdocbook
file (usually located in thedoc/
subdirectory of the package containing the program with the nameindex.docbook
) and the translatedPO
file. The syntax is:po2xml
This generates the translated.docbook file.english
.docbooktranslated.po
>translated.docbook
In the header of the generated file you have to specify your language, i.e. if your language was "German" change the line
<!ENTITY % English "INCLUDE" ><!-- change language only here -->
like this:
<!ENTITY % German "INCLUDE" ><!-- change language only here -->
Now that you generated the
docbook
file for your language you can check that the syntax is correct and all used entities (i.e. &kapp; etc.) can be resolved correctly.Important
It is not enough that the
docbook
file can be displayed more or less correctly by the KDE help center, because the parser there is optimized for speed and does not check the correctness of the XML document. It is very generous in ignoring markup errors and the like.Instead use the XML parser meinproc5 from Stephan Kulow. The calling syntax is
meinproc5
If the parsing process fails it will tell you the line numbers and error messages. You can use this application for generating HTML files, too. Just call--check
translated.docbook
meinproc5
and you will find a bunch of HTML files in the current directory. The filetranslated.docbook
index.html
is the starting point for browsing the documentation.
Error correction: Keep in mind that you need to correct the errors in the
PO
file, because thedocbook
file is autogenerated from this. Start corrections from the beginning of the document, because one error may result in a chain of subsequent errors.If you get errors about some file "dtd/kdedbx45.dtd" that could not be found, check that the needed version of meinproc5 is called. (If you realize that your self-compiled KDE is missing a new meinproc, check the BZip2 library and recompile kdoctools.)
As for proof-reading: Each language team needs to have a certain procedure for error checking. In the German team for instance we decided on proof-reading the documentation by a different team member because the translator tends to overlook the own spelling errors.
Note
Generating HTML files: The program meinproc5 not only checks the syntax but additionally generates HTML files in the directory of the corresponding docbook
file.
Usually, the coordinator for you language will take care of proof-reading and afterwards committing the translated files to SVN. So please check with him or her about the team policy in this regard.
You should always keep in mind that once your documentation is published on the KDE web server, it will be distributed worldwide and may be read by millions of people. So your translation will substantially influence how users experience KDE.