
XML::TMX::Reader - Perl extension for reading TMX files

use XML::TMX::Reader;
my $reader = XML::TMX::Reader->new( $filename );
$reader -> for_tu( sub {
my $tu = shift;
#blah blah blah
});
@used_languages = $reader->languages;
$reader->to_html()

This module provides a simple way for reading TMX files.

The following methods are available:
newThis method creates a new XML::TMX::Reader object. This process checks for the existence of the file and extracts some meta-information from the TMX header;
my $reader = XML::TMX::Reader->new("my.tmx");
ignore_markupThis method is used to set the flag to ignore (or not) markup inside translation unit segments. The default is to ignore those markup.
If called without parameters, it sets the flag to ignore the markup. If you don't want to do that, use
$reader->ignore_markup(0);
languagesThis method returns the languages being used on the specified translation memory. Note that the module does not check for language code correctness or existence.
for_tuUse for_tu to process all translation units from a TMX file. This version iterates for all tu (one at the time)
The configuration hash is a reference to a Perl hash. At the moment these are valid options:
-verboseSet this option to a true value and a counter of the number of processed translation units will be printed to stderr.
-output | outputFilename to output the changed TMX to. Note that if you use this option, your function should return a hash reference where keys are language names, and values their respective translation.
gen_tuWrite at most gen_tu TUs
proc_tuProcess at most proc_tu TUs
pattOnly process TU that match patt.
-rawPass the XML directly to the method instead of parsing it.
-verbatimUse segment contents verbatim, without any normalization.
-propA hashref of properties to be added to the TMX header block.
-noteAn arrayref of notes to be added to the TMX header block.
-headerA boolean value. If set to true, the heading tags (and closing tag) of the TMX file are written. Otherwise, only the translation unit tags are written.
The function will receive two arguments:
the language codes to the respective translation unit segment;
a special key "-prop" that maps property names to properties;
a special key "-note" that maps to a list of notes.
If you want to process the TMX and return it again, your function should return an hash reference where keys are the languages, and values their respective translation.
to_htmlUse this method to create a nice HTML file with the translation memories. Notice that this method is not finished yet, and relies on some images, on some specific locations.
for_tu2deprecated. use for_tu

XML::Writer(3), TMX Specification http://www.lisa.org/tmx/tmx.htm

Alberto Simões, <albie@alfarrabio.di.uminho.pt>
Paulo Jorge Jesus Silva, <paulojjs@bragatel.pt>
J.João Almeida, <jj@di.uminho.pt>

Copyright 2003-2012 by Projecto Natura
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.