source: trunk/tools/linguist/shared/ts.dtd@ 275

Last change on this file since 275 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 4.6 KB
Line 
1<!--
2 !
3 ! Some notes to the DTD:
4 !
5 ! The location element is set as optional since it was introduced first in Qt 4.2.
6 ! The userdata element is set as optional since it was introduced first in Qt 4.4.
7 ! The source and translation elements are optional starting with version 3.0
8 ! (Qt 4.6) to support S60 blank messages.
9 !
10 -->
11<!--
12 ! Macro used in order to escape byte entities not allowed in an xml document
13 ! for instance, only #x9, #xA and #xD are allowed characters below #x20.
14 -->
15<!ENTITY % evilstring '(#PCDATA | byte)*' >
16<!ELEMENT byte EMPTY>
17<!-- value contains decimal (e.g. 1000) or hex (e.g. x3e8) unicode encoding of one char -->
18<!ATTLIST byte
19 value CDATA #REQUIRED>
20<!--
21 ! This element wildcard is no valid DTD. No better solution available.
22 ! extra elements may appear in TS and message elements. Each element may appear
23 ! only once within each scope. The contents are preserved verbatim; any
24 ! attributes are dropped. Currently recognized extra tags include:
25 ! extra-po-msgid_plural, extra-po-old_msgid_plural
26 ! extra-po-flags (comma-space separated list)
27 ! extra-loc-layout_id
28 ! extra-loc-feature
29 ! extra-loc-blank
30 -->
31<!ELEMENT extra-* %evilstring; >
32<!ELEMENT TS (defaultcodec?, extra-**, (context|message)+) >
33<!ATTLIST TS
34 version CDATA #IMPLIED
35 sourcelanguage CDATA #IMPLIED
36 language CDATA #IMPLIED>
37<!-- The encoding to use in the .qm file by default. Default is ISO-8859-1. -->
38<!ELEMENT defaultcodec (#PCDATA) >
39<!ELEMENT context (name?, comment?, (context|message)+) >
40<!ATTLIST context
41 encoding CDATA #IMPLIED>
42<!ELEMENT name %evilstring; >
43<!-- If "no", then the context nesting is for informational puposes only -->
44<!ATTLIST name
45 nest (yes|no) "yes">
46<!-- This is "disambiguation" in the (new) API, or "msgctxt" in gettext speak -->
47<!ELEMENT comment %evilstring; >
48<!-- Previous content of comment (result of merge) -->
49<!ELEMENT oldcomment %evilstring; >
50<!-- The real comment (added by developer/designer) -->
51<!ELEMENT extracomment %evilstring; >
52<!-- Comment added by translator -->
53<!ELEMENT translatorcomment %evilstring; >
54<!ELEMENT message (location*, source?, oldsource?, comment?, oldcomment?, extracomment?, translatorcomment?, translation?, userdata?, extra-**) >
55<!--
56 ! If utf8 is true, the defaultcodec is overridden and the message is encoded
57 ! in UTF-8 in the .qm file.
58 -->
59<!ATTLIST message
60 id CDATA #IMPLIED
61 utf8 (true|false) "false"
62 numerus (yes|no) "no">
63<!ELEMENT location EMPTY>
64<!--
65 ! If the line is omitted, the location specifies only a file.
66 !
67 ! location supports relative specifications as well. Line numbers are
68 ! relative (explicitly positive or negative) to the last reference to a
69 ! given filename; each file starts with current line 0. If the filename
70 ! is omitted, the "current" one is used. For the 1st location in a message,
71 ! "current" is the filename used for the 1st location of the previous message.
72 ! For subsequent locations, it is the filename used for the previous location.
73 ! A single .ts file has either all absolute or all relative locations.
74 -->
75<!ATTLIST location
76 filename CDATA #IMPLIED
77 line CDATA #IMPLIED>
78<!ELEMENT source %evilstring;>
79<!-- Previous content of source (result of merge) -->
80<!ELEMENT oldsource %evilstring;>
81<!--
82 ! The following should really say one evilstring macro or several
83 ! numerusform or lengthvariant elements, but the DTD can't express this.
84 -->
85<!ELEMENT translation (#PCDATA|byte|numerusform|lengthvariant)* >
86<!--
87 ! If no type is set, the message is "finished".
88 ! Length variants must be ordered by falling display length.
89 ! variants may not be yes if the message has numerus yes.
90 -->
91<!ATTLIST translation
92 type (unfinished|obsolete) #IMPLIED
93 variants (yes|no) "no">
94<!-- Deprecated. Use extra-* -->
95<!ELEMENT userdata (#PCDATA)* >
96<!--
97 ! The following should really say one evilstring macro or several
98 ! lengthvariant elements, but the DTD can't express this.
99 ! Length variants must be ordered by falling display length.
100 -->
101<!ELEMENT numerusform (#PCDATA|byte|lengthvariant)* >
102<!ATTLIST numerusform
103 plurality (nullar|singular|dual|trial|paucal|greaterpaucal|plural|greaterplural) #IMPLIED>
104 variants (yes|no) "no">
105<!ELEMENT lengthvariant %evilstring; >
106<!--
107 ! The translation variants have a priority between 1 ("highest") and 9 ("lowest")
108 ! Typically longer translations get a higher priority.
109 ! If omitted, the order of appearance of the variants in the .ts files is used.
110 -->
111<!ATTLIST lengthvariant
112 priority (1|2|3|4|5|6|7|8|9) #IMPLIED>
113
Note: See TracBrowser for help on using the repository browser.