EnglishFrenchSpanish

OnWorks favicon

xml2po - Online in the Cloud

Run xml2po in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command xml2po that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


xml2po - program to create a PO-template file from a DocBook XML file and merge it back
into a (translated) XML file

SYNOPSIS


xml2po [OPTIONS] [XMLFILE]

DESCRIPTION


This manual page documents briefly the xml2po command.

xml2po 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.

-a, --automatic-tags
Automatically decide if tags are to be considered "final" or not.

-k, --keep-entities
Don´t expand entities (default). See also the -e option.

-e, --expand-all-entities
Expand all entities (including SYSTEM ones).

-m, --mode=TYPE
Treat tags as type TYPE (default: docbook).

-o, --output=FILE
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.

-p, --po-file=FILE
Specify a PO FILE containing translation and output XML document with translations
merged in.

-r, --reuse=FILE
Specify a translated XML document in FILE with the same structure to generate
translated PO file for XML document given on command line.

-t, --translation=FILE
Specify a MO file containing translation and output XML document with translations
merged in.

-u, --update-translation=LANG.po
Update a PO file using msgmerge.

-l, --language=LANG
Explicitly set language of the translation.

-h, --help
Show summary of options.

-v, --version
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 -o book.pot book.xml chapter1.xml chapter2.xml

To expand entities use the -e option:

/usr/bin/xml2po -e -o 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 -p option
for each XML file:

/usr/bin/xml2po -p LANG.po -o book.LANG.xml book.xml
/usr/bin/xml2po -p LANG.po -o chapter1.LANG.xml chapter1.xml
/usr/bin/xml2po -p LANG.po -o chapter2.LANG.xml chapter2.xml

If you used the -e option to expand entities, you should use it again to merge back the
translation into an XML file:

/usr/bin/xml2po -e -p LANG.po -o 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 -e if you decided earlier to expand entities). Afterwards run
msgmerge to merge the translation with the new POT file:

/usr/bin/msgmerge -o tmp.po LANG.po book.pot

Now rename tmp.po to LANG.po and update your translation. Alternatively, xml2po provides
the -u 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 -e if you decided earlier to expand
entities:

/usr/bin/xml2po -u LANG.po book.xml

Use xml2po online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    PostInstallerF
    PostInstallerF
    PostInstallerF will install all the
    software that Fedora Linux and others
    doesn't include by default, after
    running Fedora for the first time. Its
    easy for...
    Download PostInstallerF
  • 2
    strace
    strace
    The strace project has been moved to
    https://strace.io. strace is a
    diagnostic, debugging and instructional
    userspace tracer for Linux. It is used
    to monitor a...
    Download strace
  • 3
    gMKVExtractGUI
    gMKVExtractGUI
    A GUI for mkvextract utility (part of
    MKVToolNix) which incorporates most (if
    not all) functionality of mkvextract and
    mkvinfo utilities. Written in C#NET 4.0,...
    Download gMKVExtractGUI
  • 4
    JasperReports Library
    JasperReports Library
    JasperReports Library is the
    world's most popular open source
    business intelligence and reporting
    engine. It is entirely written in Java
    and it is able to ...
    Download JasperReports Library
  • 5
    Frappe Books
    Frappe Books
    Frappe Books is a free and open source
    desktop book-keeping software that's
    simple and well-designed to be used by
    small businesses and freelancers. It'...
    Download Frappe Books
  • 6
    Numerical Python
    Numerical Python
    NEWS: NumPy 1.11.2 is the last release
    that will be made on sourceforge. Wheels
    for Windows, Mac, and Linux as well as
    archived source distributions can be fou...
    Download Numerical Python
  • More »

Linux commands

Ad