|  | Home · Examples

# Qt Linguist Manual: TS File Format

[Previous: Qt Linguist Manual: Programmers][Qt Linguist Manual]

The `.ts` file format used by Qt Linguist is described by the DTD presented below, which we include for your convenience. Be aware that the format may change in future Qt releases.

    <!--
     !
     ! Some notes to the DTD:
     !
     ! The location element is set as optional since it was introduced first in Qt 4.2.
     ! The userdata element is set as optional since it was introduced first in Qt 4.4.
     !
      -->
    <!--
     ! Macro used in order to escape byte entities not allowed in an xml document
     ! for instance, only #x9, #xA and #xD are allowed characters below #x20.
     -->
    <!ENTITY % evilstring '(#PCDATA | byte)*' >
    <!ELEMENT byte EMPTY>
    <!ATTLIST byte
              value CDATA #REQUIRED>
    <!ELEMENT TS (defaultcodec?, context+) >
    <!ATTLIST TS
              version CDATA #IMPLIED
              language CDATA #IMPLIED>
    <!ELEMENT defaultcodec (#PCDATA) >
    <!ELEMENT context (name, comment?, message+) >
    <!ATTLIST context
              encoding CDATA #IMPLIED>
    <!ELEMENT name %evilstring; >
    <!ELEMENT comment %evilstring; >
    <!ELEMENT message (location?, source, comment?, translation, userdata?) >
    <!ATTLIST message
              encoding CDATA #IMPLIED
              numerus (yes|no) "no">
    <!ELEMENT location EMPTY>
    <!ATTLIST location
              filename CDATA #REQUIRED
              line CDATA #REQUIRED>
    <!ELEMENT source %evilstring;>
    <!--
     ! The following should really say one evilstring macro or several numerusform elements,
     ! but the DTD can't express this.
      -->
    <!ELEMENT translation (#PCDATA|byte|numerusform)* >
    <!ATTLIST translation
              type (unfinished|obsolete) #IMPLIED
              encoding CDATA #IMPLIED>
    <!ELEMENT userdata (#PCDATA)* >
    <!ELEMENT numerusform %evilstring; >