Spongiae

Spongiae is an object-oriented library giving common interface for various text document formats (plain text, HTML, ...) and translation formats (PO, XLIFF, TMX, etc.)

The package includes also some scripts for conversion between formats:

  • sg_toXliff to convert any file to non-translated XLIFF, sg_fromXliff to build translated file from XLIFF+original
  • sg_mergeToTmx to merge multiple TMX or XLIFF files to a single TMX (based on unit id, or for OmegaT files, on key attributes)
  • sg_splitTmx to split a huge TMX file by language pairs
  • sg_toHtml and sg_toPlainText to convert XLIFF to rendering format
  • sg_docStats to get statistics about a source document and sg_traStats to get statistics about progressing translation of an XLIFF

Versions

Support for tags in documents is a long task actually in active development. At same time Spongiae is already used by tools like Elefas so it is difficult to take the risk to break compatibility.

For that reason, development has been split into two branches:

  • Branch 1.x lacks support of tags and any feature which requires them (like writing support for Microsoft OpenXML). As a counterpart this branch has a stable API: you can use it with guarantee that your programs will continue to work with the next release of this branch. This continues to receive new features, but only if we are sure that they don't break compatibility with previous releases.
  • Branch 2.x contains tag support and some other experimental features, but we cannot guarantee that the way they are managed will not change in the future. For this reason we consider it as a beta relase for the moment.

Actually other projects using Spongiae are based on branch 1.x ; they may work with 2.x as well but they have not been exhaustively tested with it. On the other hand, since most of them do not yet implement support of tags, they probably don't need it.

Download

Version "alone" contains Spongiae only: it works, but does not support segmentation. Version "withDeps" contains a subset of Culter to enable segmentation.

Branch
1.x Alone With dependencies
2.x Alone With dependencies