start

# Translation Related File Formats

These are the different storage formats for translations and files associated with translations that are supported by the toolkit. See also conformance for standards conformance.

Common concerns in handling these files using our base classes for a uniform API are quoting and escaping.

## Primary translation formats

- XLIFF
- Gettext PO

## Other translation formats

- CSV
- .ini (including Inno Setup .isl dialect (from > v1.2.1)
- Java properties (also Mozilla derived properties files)
- Mozilla DTD
- OpenOffice.org GSI (Also called SDF)
- PHP translation arrays
- Qt Linguist .ts (both 1.0 and 1.1 supported, 1.0 has a converter)
- Symbian localization file (from > v1.2.1)
- Windows RC files (from v1.2)

## Translation Memory formats

- TMX
- Wordfast: TM

## Glossary formats

- Qt Phrase Book (from v1.2)
- TBX

## Formats of translatable documents

- HTML
- iCal (from v1.2)
- OpenDocument - all ODF file types (from v1.2.1)
- Text - plain text with blocks separated by whitespace
- Wiki - dokuwiki and MediaWiki supported
- Subtitles - various formats (v1.4)

## Machine readable formats

- Gettext .mo
- Qt .qm (read-only)

## In development

- WML

## Unsupported formats

Things that we would like to support but don't currently:

- Wordfast: glossary tab-delimited “source,target,comment” i.e. like OmegaT but unsure if any extension is required.
- OmegaT glossary: tab-delimited “source,target,comment” with .tab or .utf8 extensions.
- Apple:
  - AppleGlot
  - MacOS .strings file localization - Bug 371 relates to this.
- Adobe:
  - FrameMaker's Maker Interchange Format - MIF (See also python-gendoc, and Perl MIF module)
  - FrameMaker's Maker Markup Language (MML)
- Microsoft
  - Word, Excel, etc (probably through usage of OpenOffice.org)
  - OOXML (at least at the text level we don't have to deal with much of the mess inside OOXML). See also: Open XML SDK v1
  - Rich Text Format (RTF) see pyrtf-ng
  - XML Paper Specification
  - .NET Resource files (.resx) - Bug 396
- XML related
  - Generic XML
  - DocBook (can be handled by KDE's xml2pot)
  - SVG
  - Android resource files specifically string resources
- DITA
- PDF see spec, PDFedit
- LaTeX - see plasTeX, a Python framework for processing LaTeX documents
- unoconv - Python bindings to OpenOffice.org UNO which could allow manipulation of all formats understood by OpenOffice.org.
- Trados TTX (Reverse Engineered DTD, other discussion)
- Tcl: .msg files. Good documentation
- Installers:
  - NSIS installer: Existing C++ implementation
  - WiX - MSI (Microsoft Installer) creator. Localization instructions, more notes on localisation. This is a custom XML format, another one!
- gencat: precedes gettext, looking in man packages is the best information I could find. Also LSB requires it.

## Unlikely to be supported

These formats are either: too difficult to implement, undocumented, can be processed using some intermediate format or used by too few people to justify the effort. Or some combination or these issues.

- Trados: .tmw, Trados .txt (We are unable to find good documentation for these formats, you can interchange using TMX)