Daniel"> Leidert"> 2005/02/10"> 1"> daniel.leidert@wgdd.de"> XML2PO"> ]>
&dhemail;
2005 &dhusername; &dhdate;
&dhucpackage; &dhsection; &dhpackage; program to create a PO-template file from a DocBook XML file and merge it back into a (translated) XML file &dhpackage; XMLFILE DESCRIPTION This manual page documents briefly the &dhpackage; command. &dhpackage; is a simple Python program which extracts translatable content from free-form XML documents and outputs gettext compatible POT files. Translated PO files can be turned into XML output again. It can work it's magic with most "simple" tags, and for complicated tags one has to provide a list of all tags which are "final" (that will be put into one "message" in PO file), "ignored" (skipped over) and "space preserving". OPTIONS The program follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below. , Automatically decide if tags are to be considered "final" or not. , Don't expand entities (default). See also the option. , Expand all entities (including SYSTEM ones). , Treat tags as type TYPE (default: docbook). , Print resulting text (XML while merging translations with "-p" or "-t" options, POT template file while extracting strings, and translated PO file with "-r" option) to the given FILE. , Specify a PO FILE containing translation and output XML document with translations merged in. , Specify a translated XML document in FILE with the same structure to generate translated PO file for XML document given on command line. , Specify a MO file containing translation and output XML document with translations merged in. , Update a PO file using msgmerge. , Explicitly set language of the translation. , Show summary of options. , Show version of program. EXAMPLES Creating POT template files To create a POT template book.pot from an input file book.xml, which consists of chapter1.xml and chapter2.xml (external entities), run: /usr/bin/xml2po book.pot book.xml chapter1.xml chapter2.xml To expand entities use the option: /usr/bin/xml2po book.pot book.xml Creating translated XML files (merging back PO files) After translating book.pot into LANG.po, merge the translations back by using option for each XML file: /usr/bin/xml2po LANG.po book.LANG.xml book.xml /usr/bin/xml2po LANG.po chapter1.LANG.xml chapter1.xml /usr/bin/xml2po LANG.po chapter2.LANG.xml chapter2.xml If you used the option to expand entities, you should use it again to merge back the translation into an XML file: /usr/bin/xml2po LANG.po book.LANG.xml book.xml Updating PO files When base XML file changes, the real advantages of PO files come to surface. There are 2 ways to merge the translation. The first is to produce a new POT template file (additionally use the if you decided earlier to expand entities). Afterwards run msgmerge to merge the translation with the new POT file: /usr/bin/msgmerge tmp.po LANG.po book.pot Now rename tmp.po to LANG.po and update your translation. Alternatively, xml2po provides the option, which does exactly these two steps for you. The advantage is, that it also runs msgfmt to give you a statistical output of translation status (count of translated, untranslated and fuzzy messages). Additionally use the if you decided earlier to expand entities: /usr/bin/xml2po LANG.po book.xml SEE ALSO msgmerge (1), msgfmt (1) AUTHOR This manual page was written by &dhusername; &dhemail; for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.