1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
Text in the right margin determines the milestone for the feature (R1
means release 1, i.e. version 1.1).
TODO:
o check for compatible msgfmt and msgmerge [R1]
(I'm just lazy, and these are not necessary if you don't use
options -p and -u)
o add option "--dtd" to use doctype additions from another XML file [R1]
(for Gnome Users Guide)
o write extensive test suite [R1]
this is a must before release, so we've got invariant to compare to
o support for redefining DTD or parts of it [Karl]
o allow tags in messages to be replaced with placeholders [R1]
(such as <a href="...">blah</a> being replaced with
<placeholder1>blah</placeholder1>)
[Francesco Levorato <flevour@flevour.net>]
o make "-p POFILE" and "-u POFILE" work directly on PO file, instead [R1]
of depending on msgfmt/msgmerge
o pipe the constructed .po file thru 'msgcat'; msgcat is meant as a .po
file normalization tool. [Karl]
o add support for translating attributes (eg. imagine "title" [??]
attribute in IMG tag in XHTML) -- this should be easy enough
o support several different doctypes in the same run [??]
eg. a mathml, docbook, documents all translated with one run
o Improve speed: with addition of many features, speed has gone
dramatically down; some of the things should be transferred to
libxml2 (like using node.isText()).
BUGS:
o Merging with "-k" (keep-entities) option doesn't work correctly
DONE:
o add "-a" option to automatically detect final tags (should be
simple, use something like worthOutputting in isFinalTag)
o fix normalizeString not to assume that inserting spaces is ok
[This should be good enough now]
o allow nesting of tags in final-tags which are then replaced by
something like "<tag id='blah'>"
o source code references are working now
o Implement -o option for directing output into file.
o Recognize comments before tags as translators' comments.
o Add option "-p POFILE" which will run msgfmt for user automatically.
o Add option "-u LANG" which works like "intltool-update LANG"
(runs msgmerge for the user and works on file LANG.po)
o Entities which contain tags are not handled correctly, this can be
easily solved using ctxt.replaceEntities(1) -- that's how it was done
o Ignore external entities (first need to look if it's at all possible)
This seems be impossible with Python bindings, C interface provides
xmlEntity.etype field (enum xmlEntityType), but this doesn't seem to
be available from Python bindings. Because of this, I hacked
around it using xmlNode.debugDumpNode to a temporary file, what
could sure use some improvement.
o correct startTagForNode(node) to generate correct XML (watch out on
quoting, entities, etc.) [this seems to automagically just work,
further testing might be required]
o When outputting messages to PO file, we need to escape "\" as well.
o allow tags which preserve spaces (1.0.6)
o add ability to merge translator-credits back into XML file (1.0.6)
- this is done per document type using Python code
o add support for setting current language as either attribute of (1.0.6)
some element, as another child element of existing element
(eg. DocBook articles use "<article lang='lang'>", where lang is
basename of the PO file without ".po" (for sr.po, it's simply "sr").
- this is done per document type using Python code
o install xml2po in $prefix, data in $prefix/share, and document (1.0.6)
descriptions in $prefix/share/xml2po/docbook/*,
$prefix/share/xml2po/summary/*, etc.
o make "descriptions" of document types which contain lists of final (1.0.6)
tags, ignored tags, attributes to be translated, etc. install them
in $prefix/share/xml2po/ (this will deprecate options -i and -f).
o support images and other objects which might need updating
basically, just extract a message of the form: (1.0.9)
@@imageobject: figure/gui.png; md5=...@@
o allow reusing existing translations in XML files (we need to have
both translated XML and original XML file with same structure) (1.0.10)
o add "#. tag: title" for <title> tags [Karl]
actually, now references are #. file:lineno(tag) (1.0.11)
|