net.sf.okapi.common.filterwriter.ext
Class TMXWriter

java.lang.Object
  extended by net.sf.okapi.common.filterwriter.ext.TMXWriter

public class TMXWriter
extends java.lang.Object

Writer for TMX documents.


Constructor Summary
TMXWriter(java.lang.String path)
          Creates a new TMXWriter object.
TMXWriter(net.sf.okapi.common.XMLWriter writer)
          Creates a new TMXWriter object.
 
Method Summary
 void close()
          Closes the current output document if one is opened.
 int getItemCount()
          Gets the number of TU elements that have been written in the current output document.
 boolean isWriteAllPropertiesAsAttributes()
          Write all TU level properties as TMX attributes?
 void setAltTranslationOption(java.lang.String pattern)
          Sets a pattern used to indicate which entries to include when using the writeAlternate(AltTranslation, TextFragment) method.
 void setExclusionOption(java.lang.String pattern)
          Sets a pattern of content to not output.
 void setLetterCodedMode(boolean value, boolean zeroBased)
          Sets the flag indicating whether the writer should output letter-coded content (e.g. to work for OmegaT).
protected  void setPath(java.lang.String path)
           
 void setQuoteMode(int quoteMode)
          Sets the default quote mode to use in escaping the TMX segment content (1 is the default).
 void setTradosWorkarounds(boolean value)
          Sets the flag indicating whether the writer should output workaround codes specific for Trados.
 void setUseMTPrefix(boolean useMTPrefix)
          Sets the flag indicating if entries originating from MT should be written with a special prefix in the source text (forcing a fuzzy match).
 void setWriteAllPropertiesAsAttributes(boolean writeAllPropertiesAsAttributes)
          If true then all TU level properties will be written as TMX attributes.
protected  void setXmlWriter(net.sf.okapi.common.XMLWriter writer)
           
protected  void writeAllPropertiesAsAttibutes(net.sf.okapi.common.XMLWriter writer, java.util.Set<java.lang.String> names, net.sf.okapi.common.resource.ITextUnit item)
           
 void writeAlternate(net.sf.okapi.common.annotation.AltTranslation alt, net.sf.okapi.common.resource.TextFragment srcOriginal)
          Writes the data of an AltTranslation to this TMX output.
 void writeAlternates(net.sf.okapi.common.resource.ITextUnit tu, net.sf.okapi.common.LocaleId trgLoc)
          Writes the entries of an AltTranslationsAnnotation annotation(s) of a given text unit to the TMX document.
 void writeEndDocument()
          Writes the end of the TMX document.
 void writeItem(net.sf.okapi.common.resource.ITextUnit tu, java.util.Map<java.lang.String,java.lang.String> attributes)
          Writes a given text unit.
protected  void writeProp(java.lang.String name, java.lang.String value)
           
protected  void writeResourceLevelProperties(java.util.Set<java.lang.String> names, net.sf.okapi.common.resource.ITextUnit item, net.sf.okapi.common.resource.TextFragment srcSegment)
           
 void writeStartDocument(net.sf.okapi.common.LocaleId sourceLocale, net.sf.okapi.common.LocaleId targetLocale, java.lang.String creationTool, java.lang.String creationToolVersion, java.lang.String segType, java.lang.String originalTMFormat, java.lang.String dataType)
          Writes the start of the TMC document.
 void writeTU(net.sf.okapi.common.resource.TextFragment source, net.sf.okapi.common.resource.TextFragment target, java.lang.String tuid, java.util.Map<java.lang.String,java.lang.String> attributes)
          Writes a TMX TU element.
 void writeTU(net.sf.okapi.common.resource.TextFragment source, net.sf.okapi.common.resource.TextFragment target, java.lang.String tuid, java.util.Map<java.lang.String,java.lang.String> attributes, net.sf.okapi.common.LocaleId altTrgLoc)
          Writes a TMX TU element.
 void writeTUFull(net.sf.okapi.common.resource.ITextUnit item)
          Writes a TextUnit (all targets) with all the properties associated to it.
 void writeTUFull(net.sf.okapi.common.resource.ITextUnit item, net.sf.okapi.common.LocaleId sourceLocId)
          Writes a TextUnit (all targets) with all the properties associated to it.
protected  void writeTUV(net.sf.okapi.common.resource.TextFragment frag, net.sf.okapi.common.LocaleId locale, net.sf.okapi.common.resource.TextContainer contForProp)
          Writes a TUV element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TMXWriter

public TMXWriter(java.lang.String path)
Creates a new TMXWriter object. Creates a new TMX document.

Parameters:
path - The full path of the TMX document to create. If another document exists already it will be overwritten.

TMXWriter

public TMXWriter(net.sf.okapi.common.XMLWriter writer)
Creates a new TMXWriter object. Creates a new TMX document.

Parameters:
writer - an instance of an XMLWriter to use. If another document exists already it will be overwritten.
Method Detail

setPath

protected void setPath(java.lang.String path)

setXmlWriter

protected void setXmlWriter(net.sf.okapi.common.XMLWriter writer)

close

public void close()
Closes the current output document if one is opened.


getItemCount

public int getItemCount()
Gets the number of TU elements that have been written in the current output document.

Returns:
The number of TU elements written in the current output document.

setTradosWorkarounds

public void setTradosWorkarounds(boolean value)
Sets the flag indicating whether the writer should output workaround codes specific for Trados.

Parameters:
value - true to output Trados-specific workarounds. False otherwise.

setLetterCodedMode

public void setLetterCodedMode(boolean value,
                               boolean zeroBased)
Sets the flag indicating whether the writer should output letter-coded content (e.g. to work for OmegaT).

Parameters:
value - true to output letter-coded content. False otherwise.
zeroBased - true to have 0-based code, false for unaltered IDs.

setExclusionOption

public void setExclusionOption(java.lang.String pattern)
Sets a pattern of content to not output. The given pattern is matched against the source content of each item, if it matches, the item is not written.

Parameters:
pattern - the regular expression pattern of the contents to not output.

setAltTranslationOption

public void setAltTranslationOption(java.lang.String pattern)
Sets a pattern used to indicate which entries to include when using the writeAlternate(AltTranslation, TextFragment) method. When this pattern is set to null (the default) all entries are included.

Parameters:
pattern - the regular expression of the origin(s) to include. Use null to include all entries.

setQuoteMode

public void setQuoteMode(int quoteMode)
Sets the default quote mode to use in escaping the TMX segment content (1 is the default).

Parameters:
quoteMode - 0=no quote escaped, 1=apos and quot, 2=#39 and quot, and 3=quot only.

setUseMTPrefix

public void setUseMTPrefix(boolean useMTPrefix)
Sets the flag indicating if entries originating from MT should be written with a special prefix in the source text (forcing a fuzzy match). An entry is deemed originating from MT when its creationid attribute is set to Util.MTFLAG.

Parameters:
useMTPrefix - true to use a prefix for entries originating from MT.

writeStartDocument

public void writeStartDocument(net.sf.okapi.common.LocaleId sourceLocale,
                               net.sf.okapi.common.LocaleId targetLocale,
                               java.lang.String creationTool,
                               java.lang.String creationToolVersion,
                               java.lang.String segType,
                               java.lang.String originalTMFormat,
                               java.lang.String dataType)
Writes the start of the TMC document.

Parameters:
sourceLocale - The source locale (must be set).
targetLocale - The target locale (must be set).
creationTool - The identifier of the creation tool (can be null).
creationToolVersion - The version of the creation tool (can be null).
segType - The type of segments in the output.
originalTMFormat - The identifier for the original TM engine (can be null).
dataType - The type of data to output.

writeEndDocument

public void writeEndDocument()
Writes the end of the TMX document.


writeItem

public void writeItem(net.sf.okapi.common.resource.ITextUnit tu,
                      java.util.Map<java.lang.String,java.lang.String> attributes)
Writes a given text unit. One TMX TU per segment if the text unit is segment, or one TU for the full content, if the text unit is not segmented.

Parameters:
tu - The text unit to output.
attributes - The optional set of attribute to put along with the entry.

writeAlternates

public void writeAlternates(net.sf.okapi.common.resource.ITextUnit tu,
                            net.sf.okapi.common.LocaleId trgLoc)
Writes the entries of an AltTranslationsAnnotation annotation(s) of a given text unit to the TMX document.

Parameters:
tu - text unit to use.
trgLoc - target locale.

writeAlternate

public void writeAlternate(net.sf.okapi.common.annotation.AltTranslation alt,
                           net.sf.okapi.common.resource.TextFragment srcOriginal)
Writes the data of an AltTranslation to this TMX output.

Which entries will be output also depends on what patterns have been set with setAltTranslationOption(String) and setExclusionOption(String).

Parameters:
alt - the alternate translation.
srcOriginal - the default source (coming from the segment or container where the annotation was attached to).

writeTU

public void writeTU(net.sf.okapi.common.resource.TextFragment source,
                    net.sf.okapi.common.resource.TextFragment target,
                    java.lang.String tuid,
                    java.util.Map<java.lang.String,java.lang.String> attributes)
Writes a TMX TU element.

Parameters:
source - the fragment for the source text.
target - the fragment for the target text.
tuid - the TUID attribute (can be null).
attributes - the optional set of attribute to put along with the entry.

writeTU

public void writeTU(net.sf.okapi.common.resource.TextFragment source,
                    net.sf.okapi.common.resource.TextFragment target,
                    java.lang.String tuid,
                    java.util.Map<java.lang.String,java.lang.String> attributes,
                    net.sf.okapi.common.LocaleId altTrgLoc)
Writes a TMX TU element.

Parameters:
source - the fragment for the source text.
target - the fragment for the target text.
tuid - the TUID attribute (can be null).
attributes - the optional set of attribute to put along with the entry.
altTrgLoc - the target locale id to use (in case it is different from the default one, use null to get the default).

writeTUFull

public void writeTUFull(net.sf.okapi.common.resource.ITextUnit item)
Writes a TextUnit (all targets) with all the properties associated to it.

Note: If the srclang in the TMX header is "*all*", you must use writeTUFull(ITextUnit, LocaleId) instead.

Parameters:
item - The text unit to write.

writeTUFull

public void writeTUFull(net.sf.okapi.common.resource.ITextUnit item,
                        net.sf.okapi.common.LocaleId sourceLocId)
Writes a TextUnit (all targets) with all the properties associated to it.

Parameters:
item - The text unit to write.
sourceLocId - The source locale id to use for this TU.

writeResourceLevelProperties

protected void writeResourceLevelProperties(java.util.Set<java.lang.String> names,
                                            net.sf.okapi.common.resource.ITextUnit item,
                                            net.sf.okapi.common.resource.TextFragment srcSegment)

writeProp

protected void writeProp(java.lang.String name,
                         java.lang.String value)

writeAllPropertiesAsAttibutes

protected void writeAllPropertiesAsAttibutes(net.sf.okapi.common.XMLWriter writer,
                                             java.util.Set<java.lang.String> names,
                                             net.sf.okapi.common.resource.ITextUnit item)

writeTUV

protected void writeTUV(net.sf.okapi.common.resource.TextFragment frag,
                        net.sf.okapi.common.LocaleId locale,
                        net.sf.okapi.common.resource.TextContainer contForProp)
Writes a TUV element.

Parameters:
frag - the TextFragment for the content of this TUV. This can be a segment of a TextContainer.
locale - the locale for this TUV.
contForProp - the TextContainer that has the properties to write for this TUV, or null for no properties.

setWriteAllPropertiesAsAttributes

public void setWriteAllPropertiesAsAttributes(boolean writeAllPropertiesAsAttributes)
If true then all TU level properties will be written as TMX attributes.

Parameters:
writeAllPropertiesAsAttributes - true to write out all TU level properties as TMX attributes.

isWriteAllPropertiesAsAttributes

public boolean isWriteAllPropertiesAsAttributes()
Write all TU level properties as TMX attributes?

Returns:
true if all TU level properties will be written, false otherwise.