1 2006-02-20 13:03 davidfraser
3 * README: updated for 0.8 release
5 2006-02-20 12:15 davidfraser
7 * __version__.py: version 0.8! TADA!
9 2006-02-20 12:13 davidfraser
11 * convert/oo2po.py: fixed docstring to correspond to functionality
13 2006-02-20 11:47 friedelwolff
15 * convert/: po2html.py, po2ts.py, po2txt.py: Convert last few users
16 of getunquotedstr() to use .source and .target
18 2006-02-20 09:38 friedelwolff
20 * filters/checks.py: Allow variables _and_ musttranslate words in
23 2006-02-17 21:05 dwaynebailey
25 * storage/csvl10n.py: Convert last remnants of msgid and msgstr to
28 2006-02-17 19:42 dwaynebailey
30 * tools/test_pocount.py: Test that we count correctly. Quite a few
31 word break errors that need fixing. The failing tests have been
34 2006-02-17 14:10 charlvn
36 * convert/test_html2po.py: If the 'lang' attribute is placed on the
37 'html' element, '<head>' incorrectly becomes one of the
38 translatable strings in the output.
40 2006-02-17 10:39 friedelwolff
42 * filters/: checks.py, test_checks.py: Allow missing acronyms in
45 2006-02-16 13:52 dwaynebailey
47 * filters/checks.py: Add a number of new OpenOffice.org variables
48 styles. Including: % #1 # We're now sitting at 14 variable
51 2006-02-16 11:10 friedelwolff
53 * filters/pofilter.py: fix for test_ignore_if_already_marked: test
54 if pofilter message already present before appending
56 2006-02-16 11:08 friedelwolff
58 * filters/test_pofilter.py: fix comment ordering in posource
60 2006-02-16 08:27 charlvn
62 * convert/test_html2po.py: First basic test
64 2006-02-15 11:20 dwaynebailey
66 * convert/test_po2csv.py: Fix test. We shouldn't be escaping the
67 internal CVS representation, we should escape when we use __str__
70 2006-02-15 10:08 dwaynebailey
72 * filters/test_pofilter.py: Correct silly typo in
73 test_ignore_if_already_marked: test now fails properly. Added
74 some poexpected strings to that we are testing to see that we
75 exactly match the expected output not doing X != Y but noe
76 poresult == poexpected
78 2006-02-15 09:57 dwaynebailey
80 * storage/test_properties.py: Enable some tests that were disabled
81 from 0.8 merging. Make them pass. Some are working but require
82 playing with newlines. Probably needs a better look within the
83 properties class to distinguish between real translatables and
86 2006-02-15 09:43 dwaynebailey
88 * convert/csv2po.py: Make the error message more logical. Not sure
89 how to create a test to validate this though.
91 2006-02-15 09:38 dwaynebailey
93 * convert/test_po2csv.py: Reenable test for start single quotes.
94 Break up checking for middle and end from checking for start. We
95 do some weird mangling on single quotes to get around
96 spreadsheets (specifically Excel).
98 2006-02-15 09:27 dwaynebailey
100 * convert/test_po2oo.py, filters/test_autocorrect.py,
101 storage/test_oo.py, tools/test_pomerge.py: SOme tests that didn't
102 make it across in the merging of 0.8 into head
104 2006-02-14 17:46 davidfraser
106 * storage/: po.py, test_po.py: zap getunquotedstr, as its no longer
107 used anywhere (unquotefrompo or better .source or .target
108 properties replace it)
110 2006-02-14 17:43 davidfraser
112 * storage/test_po.py: woops! there were two test_getunquotedstr
113 functions. The first one actually fails leaving this for
114 posterity, next I'll remove the other one :-)
116 2006-02-14 17:42 davidfraser
118 * storage/test_po.py: this test actually passes, remove it before
119 removing the function
121 2006-02-14 17:39 davidfraser
123 * convert/test_dtd2po.py: explicitly request line breaks where
124 desired for checking layout in po file
126 2006-02-14 17:38 davidfraser
128 * storage/po.py: switch default to not include line break between
129 lines (since its not part of the semantics)
131 2006-02-14 17:33 davidfraser
133 * convert/po2tmx.py: use source and target properties rather than
134 manually unquoting the strings
136 2006-02-14 17:29 davidfraser
138 * convert/: csv2po.py, pot2po.py: replace getunquotedstr with
141 2006-02-14 17:23 davidfraser
143 * filters/pofilter.py, tools/pocount.py, tools/podebug.py,
144 tools/pogrep.py, tools/pomerge.py: replace getunquotedstr with
147 2006-02-14 17:22 davidfraser
149 * storage/: po.py, test_po.py: replace getunquotedstr with
150 unquotefrompo which is much more regular
152 2006-02-14 15:50 dwaynebailey
154 * misc/quote.py: Do not treat \a (Ctrl-G or BELL) as a special
155 escape as otherwise we end up with a literal ^G in the
156 translation when we actually want \u0007.
158 2006-02-14 15:42 dwaynebailey
160 * misc/test_quote.py: Add test for quote.py
162 2006-02-14 14:52 dwaynebailey
164 * filters/test_checks.py: Add tests for variables of style: %1, %,
167 2006-02-14 13:26 friedelwolff
169 * convert/test_po2tmx.py, storage/base.py, storage/test_base.py,
170 storage/test_tbx.py, storage/test_tmx.py: Make
171 base.TranslationStore.findunit() return None instead of raising
172 exception. Adapt users.
174 2006-02-14 13:17 friedelwolff
176 * storage/tmx.py: Fix tmx.translate() with unfound unit.
179 2006-02-14 12:26 dwaynebailey
181 * filters/test_checks.py: Test to ensure that newlines do not mask
182 end punctuation errors
184 2006-02-14 12:20 davidfraser
186 * convert/: html2po.py, nb2po.py, po2csv.py, po2tmx.py, pot2po.py,
187 sxw2po.py, ts2po.py, txt2po.py: Forward port from
188 translate-toolkit-0-8-branch: modified convert methods to make
189 the actual commandline operation more testable all main
190 functions now take an optional argv parameter used for testing
191 also refactored main functions for modules that didn't have
194 added encoding argument when constructing poelements (its the
195 default, but it doesn't hurt...)
197 unwrapped docstrings, and shortened them where appropriate
199 2006-02-14 12:15 davidfraser
201 * convert/csv2po.py: Forward port from
202 translate-toolkit-0-8-branch: modified convert methods to make
203 the actual commandline operation more testable all main
204 functions now take an optional argv parameter used for testing
205 also refactored main functions for modules that didn't have
208 unwrapped docstrings, and shortened them where appropriate
209 adjusted test to handle them being wrapped in the help
211 added encoding argument when constructing poelements (its the
212 default, but it doesn't hurt...)
214 2006-02-14 12:09 davidfraser
216 * convert/: prop2po.py, test_prop2po.py: Forward port from
217 translate-toolkit-0-8-branch: modified convert methods to make
218 the actual commandline operation more testable all main
219 functions now take an optional argv parameter used for testing
220 also refactored main functions for modules that didn't have
223 added encoding argument when constructing pounits (its the
224 default, but it doesn't hurt...)
226 Added test to detect problem with multiline entries. Ie those
227 with \ escapes newlines.
229 added test for unicode conversions
231 added test that actually checks the convertprop method that the
234 2006-02-14 12:03 davidfraser
236 * convert/: moz2po.py, mozfunny2prop.py, po2html.py, po2moz.py,
237 po2nb.py, po2oo.py, po2prop.py, po2ts.py, po2txt.py, po2xliff.py,
238 poreplace.py, prop2mozfunny.py, xliff2po.py: Forward port from
239 translate-toolkit-0-8-branch: modified convert methods to make
240 the actual commandline operation more testable all main
241 functions now take an optional argv parameter used for testing
242 also refactored main functions for modules that didn't have
245 2006-02-14 12:00 davidfraser
247 * convert/: oo2po.py, test_oo2po.py: Forward port from
248 translate-toolkit-0-8-branch: modified convert methods to make
249 the actual commandline operation more testable all main
250 functions now take an optional argv parameter used for testing
251 also refactored main functions for modules that didn't have
254 added encoding argument when constructing poelements (its the
255 default, but it doesn't hurt...)
257 Now also test for \t (Tab) anr \r (Carriage Return) escaping
259 added oo2po test that actually runs the command
261 added a simple test to ensure --multifile=onefile generates a
262 file, not a directory currently fails...
264 Check for the unique oo2po command line options.
266 2006-02-14 11:52 davidfraser
268 * convert/: po2dtd.py, test_po2dtd.py: Forward port from
269 translate-toolkit-0-8-branch: modified convert methods to make
270 the actual commandline operation more testable all main
271 functions now take an optional argv parameter used for testing
272 also refactored main functions for modules that didn't have
275 make case of accelerators match that in the original string
277 Add a test for convertdtd. This was to make the output to file
278 fail. po2dtd misnamed str with scr. Fix was simple test was
281 split roundtripstring out so we can easily do roundtrips on
283 use two input files to make sure we actually convert the string
285 print out intermediate roundtrip values to aid debugging errors
286 added lots of escaping and quote tests
288 added string roundtrip helper
290 added test for preserving access key case where possible...
292 Test to check that we don't mess with the encoding of an
293 escaped \n from a PO file.
295 Added test for merging flattened PO entries back into their
296 parent pretty printed entity.
298 added setup_ and teardown_ methods to TestPO2DTDCommand for
299 calling the things in both base classes...
301 2006-02-14 11:44 davidfraser
303 * convert/: dtd2po.py, test_dtd2po.py: Forward port from
304 translate-toolkit-0-8-branch: modified convert methods to make
305 the actual commandline operation more testable all main
306 functions now take an optional argv parameter used for testing
307 also refactored main functions for modules that didn't have
310 added encoding argument when constructing pounits (its the
311 default, but it doesn't hurt...)
313 if thepo is blank and has no sources, it is probably a
314 DONT_TRANSLATE and so we ignore it
316 Add convertdtd test for dtd2po similar to prop2po
318 If the template has a blank translation eg translators.credits
319 and we merge it with a language that has a transaltion. Then we
320 end up with the translation in msgid and KDE comment in the
323 Add a test that picks up DONT_TRANSLATE elements that are only
326 Add a test for #102. Entities that appear inside SGML comments
327 Identified #101 correctly
329 changed test for newline escaping to test the string converter
332 Add a test to see that we convert \r\n to \n in a PO file and
333 don't end up with \r in our PO messages.
335 Make sure \r appears correctly in the PO file.
337 Ensure that we can handle \n or \t correctly when converting
340 Fix for #79 multiline pretty printed DTD entities. Tests
343 * Single line elements are left untrated
345 * Space at the start of the first line are preserved
346 * Whitespace at the start of all subsequent lines is removed
347 * All lines except the last have one whitespace character
348 (ensures that when join lines we don't join words
351 our merge test was coded the wrong way round ...
353 We are escaping hard coded newlines found in DTDs when creating
354 PO files. We should just carry them through and not escape them.
355 Not these are not real newlines found in the file but a \n in
358 moved extractdtdstring from dtd2po to dtd storage module as
361 2006-02-14 11:25 friedelwolff
363 * search/Levenshtein.py: Use segmenting for similarity calculations
365 2006-02-14 11:24 davidfraser
367 * convert/: convert.py, test_convert.py: Forward port from
368 translate-toolkit-0-8-branch: modified convert methods to make
369 the actual commandline operation more testable all main
370 functions now take an optional argv parameter used for testing
371 also refactored main functions for modules that didn't have
372 them... included a base test_convert.TestConvertCommand class
373 handle onefile non-recursion for input output and templates in
376 2006-02-14 11:19 davidfraser
378 * tools/: poconflicts.py, pydiff.py: space cleanup
380 2006-02-14 11:17 davidfraser
382 * filters/test_checks.py: Forward port from
383 translate-toolkit-0-8-branch: unicode escapes are easier to
384 read in any editor... Add the $blah$ variables style
386 2006-02-14 11:16 davidfraser
388 * filters/checks.py: replace tabs with spaces
390 2006-02-14 11:11 davidfraser
392 * misc/quote.py: Forward port from translate-toolkit-0-8-branch:
393 handle multiline escapes properly by returning the escape so the
394 parser can use it removed spurious check that just gave errors
395 for unknown escapes at the end of a string...
397 2006-02-14 11:08 davidfraser
399 * storage/test_zipfile.py: replace tabs with spaces
401 2006-02-14 11:04 davidfraser
403 * storage/: dtd.py, test_dtd.py, oo.py, properties.py: Forward
404 ported from translate-toolkit-0-8-branch
406 2006-02-14 11:02 davidfraser
408 * storage/csvl10n.py: Forward ported from
409 translate-toolkit-0-8-branch: Handling csv escapes Conversion
410 to str must return str
412 2006-02-14 10:58 dwaynebailey
414 * filters/test_checks.py: Add a number of real world examples for
415 tests that failed on 0.8 branch. Including: - endpunc - variables
416 at end of line - endpunc - apostophe at end of line. -
417 notranslatewords - various punctuation surrounding these words -
418 singlequote - at end of line - simplecaps - various that should
419 pass Some disabled until we get HEAD tests stable. These
420 include: - endpunc - elipsis ... at end of line (UTF-8
421 \xe2\x80\xa6) - simplecaps - variable removal give false capitals
422 - simplecaps - ALLCAPS should be ALLCAPS in translation
424 2006-02-14 10:57 davidfraser
426 * storage/test_po.py: Forward ported tests from
427 translate-toolkit-0-8-branch
429 2006-02-14 10:51 davidfraser
431 * storage/po.py: Forward port from translate-toolkit-0-8-branch:
432 Converts \t and \r back into proper unescaped form. remember
433 encodings on pounits (set by default to be the same as the pofile
434 that creates them) encode line by line so we don't have
435 problems joining the string together (or dealing with mixed
436 unicode / str) plastered unicode conversion onto all the
437 __str__ functions to make sure we don't get inane errors
438 renamed the underlying function to getsource, which could be used
439 alternatively if unicode is desired in certain cases. note that
440 this will end up using UTF-8 encoding as a desparate measure
441 rather than giving errors...
443 2006-02-14 10:48 friedelwolff
445 * search/segment.py: Provide preliminary means of simple segmenting
447 2006-02-14 10:34 davidfraser
449 * filters/checks.py: moved default punctuation into a variable, and
450 encoded non-ascii chars with escapes handle replacing punctuation
451 in notranslatewords for non-unicode strings
453 2006-02-14 10:22 davidfraser
455 * filters/: checks.py, test_checks.py: disabled tests that are for
456 enhancements, can be renabled once we've finished stabilising
457 adjusted heuristic for simple_caps so its less strict on small
460 2006-02-14 10:14 dwaynebailey
462 * search/.cvsignore: Ignore compiled Python files
464 2006-02-14 10:12 davidfraser
466 * filters/: checks.py, test_checks.py: count repetitions of
467 variables so if one is missing it is an error this pointed out
468 that the test for filtering KDE comments when checking variables
469 was only passing because the same variable name was used twice,
470 so added more tests, and fixed the lack of kde comment filtering
471 in the variables check
473 2006-02-14 10:09 dwaynebailey
475 * storage/test_po.py: Test for the correct handling of Unicode
478 2006-02-14 09:13 friedelwolff
480 * storage/: test_po.py, test_properties.py: Comment out failing
481 unit tests, fix a tab
483 2006-02-14 08:57 friedelwolff
485 * convert/: test_po2csv.py, test_po2tmx.py: Disable failing unit
488 2006-02-14 07:31 friedelwolff
490 * storage/lisa.py: Make parse also accept a file, fix tabs
492 2006-02-13 12:17 davidfraser
494 * __version__.py: since its version 0.8, we need at least 8 release
497 2006-02-13 12:10 davidfraser
499 * storage/dtd.py: leave ENTITY comments in, and add TODO to convert
500 them to obsolete messages
502 2006-02-13 12:08 davidfraser
504 * convert/test_po2dtd.py: split roundtripstring out so we can
505 easily do roundtrips on whole dtds as well
507 2006-02-13 11:41 davidfraser
509 * storage/: dtd.py, test_dtd.py: added test and fix for bug 77 on
510 comments getting run together
512 2006-02-13 10:47 davidfraser
514 * convert/: convert.py, oo2po.py: rather handle onefile
515 non-recursion for input output and templates in the convert
518 2006-02-13 07:38 friedelwolff
520 * storage/lisa.py: tab -> spaces
522 2006-02-10 23:32 friedelwolff
524 * storage/lisa.py: Improve performance in lisa parsing
526 2006-02-10 23:10 friedelwolff
528 * convert/: po2tmx.py, test_po2tmx.py: Adapt po2tmx and test_po2tmx
529 to new TMX storage. 2 new tests failing
531 2006-02-10 22:21 friedelwolff
533 * storage/lisa.py: Handle sourcelanguage neater, readlines->read,
536 2006-02-10 22:18 friedelwolff
538 * search/match.py: Expect TranslationUnits as candidates, fix tabs,
541 2006-02-10 22:17 friedelwolff
543 * search/test_match.py: Rather pass list of TranslationUnits for
544 matching (use CSV storage)
546 2006-02-10 21:54 friedelwolff
548 * storage/tbx.py: More uniformity in source language use
550 2006-02-10 21:45 friedelwolff
552 * storage/tmx.py: fix broken language tags, less duplication of
555 2006-02-10 20:11 friedelwolff
557 * search/Levenshtein.py: Always return floats
559 2006-02-10 17:32 friedelwolff
561 * services/: lookupclient.py, lookupservice.py: Add support for TMX
564 2006-02-10 14:22 friedelwolff
566 * storage/: test_tmx.py, tmx.py: Move TMX to new LISA base class.
567 Port unit tests as necessary.
569 2006-02-10 14:14 friedelwolff
571 * storage/tbx.py: Move TBX to new LISA base class
573 2006-02-10 14:05 friedelwolff
575 * storage/lisa.py: LISA base class for the XML based classes
577 2006-02-10 12:05 dwaynebailey
579 * filters/test_pofilter.py: Added test to make sure we don't pull
580 an item if its already marked as failing. Test doesn't work as
581 their is something wrong with the way we're doing the command
584 2006-02-10 09:53 dwaynebailey
586 * convert/csv2po.py, convert/test_csv2po.py, storage/csvl10n.py:
587 Test to see that we handle CSV first character escapes Refactor
588 how we strip first character escapes in CSV files, added ' as a
589 possible Test for missing entries when merging csv 2 PO. Should
590 check stderr but didn't know how. We should probably have a
591 generic test method that can give us the results of stdout for
592 querying. Fixed the error to be the same as head ie displayes
593 the source CSV filename as that is where you want to look for the
596 2006-02-09 22:50 dwaynebailey
598 * filters/: test_checks.py, checks.py: Add teh $blah$ variables
601 2006-02-09 17:50 davidfraser
603 * convert/: csv2po.py, po2csv.py, po2oo.py, pot2po.py,
604 test_convert.py: unwrapped docstrings, and shortened them where
605 appropriate adjusted test to handle them being wrapped in the
606 help added more detail to po2oo error if key not found
608 2006-02-09 17:22 davidfraser
610 * convert/test_po2dtd.py: added setup_ and teardown_ methods for
611 calling the things in both base classes...
613 2006-02-09 17:13 davidfraser
615 * storage/oo.py: flush the file (otherwise it fails in testing)
617 2006-02-09 16:16 dwaynebailey
619 * convert/: csv2po.py, po2csv.py, pot2po.py, test_csv2po.py,
620 test_dtd2po.py, test_po2csv.py, test_po2dtd.py, test_po2oo.py,
621 test_pot2po.py, test_prop2po.py: Add help test to all the
622 convertors. Fix some of the __doc__ string for various
623 convertors to make the tests pass.
625 2006-02-09 16:10 davidfraser
627 * convert/test_po2oo.py: added commandline-style test class made
628 test_convertoo multilingual made a version of convertoo that
629 works on the commandline system (so tests happen through that
630 too, by inheritance) removed unused helpers po2oo and merge2oo
632 2006-02-09 16:07 davidfraser
634 * convert/test_convert.py: create directories recursively if
635 required for opening new files
637 2006-02-09 15:16 davidfraser
639 * convert/test_oo2po.py: defaultoptions now in base class made test
640 for pot and test for po too use kwargs where possible
642 2006-02-09 15:08 davidfraser
644 * convert/test_convert.py: added default options to not output
645 progress as its not helpful actually only the first line of the
646 docstring is included in the help
648 2006-02-09 15:00 dwaynebailey
650 * convert/: test_convert.py, test_oo2po.py: Check for the unique
651 oo2po command line options.
653 2006-02-09 14:15 davidfraser
655 * convert/: test_convert.py, test_oo2po.py: added helpers for
656 creating and reading file contents
658 2006-02-09 14:10 friedelwolff
660 * storage/: csvl10n.py, po.py, test_po.py, test_tmx.py, tmx.py:
661 Back out accidental commit of unintended files
663 2006-02-09 14:06 davidfraser
665 * convert/oo2po.py: if multifile is onefile, then don't
666 allowrecursiveinput (bug 88)
668 2006-02-09 14:05 davidfraser
670 * convert/test_oo2po.py: got the wrong argument - single means each
671 subfile is a singlefile, onefile means all in one big file.
672 Intuitive, I think...
674 2006-02-09 13:59 davidfraser
676 * convert/test_oo2po.py: added a simple test to ensure
677 --multifile=singlefile generates a file, not a directory
680 2006-02-09 13:58 davidfraser
682 * convert/test_convert.py: added more helpful things to
683 run_command: - support for keyword arguments so help=True
684 gives --help, language="yi" gives --language=yi - support for
685 default options defined on self.defaultoptions so
686 self.defaultoptions = {"progress": "none"} gives --progress=None
687 defaultoptions are overridden by keyword arguments added
688 get_testfilename helper so people don't have to do
691 2006-02-09 13:54 dwaynebailey
693 * convert/test_pot2po.py: Rename the merging tests. Add two tests
694 (currently disabled): - check for merges when the source remains
695 unchanged but msgid changes - check for merges where msgid
696 remains unchanged but source changes
698 2006-02-09 13:46 davidfraser
700 * convert/: test_convert.py, test_oo2po.py: added helper for
701 opening test files added simple oo2po test that actually runs the
704 2006-02-09 13:46 dwaynebailey
706 * convert/: pot2po.py, test_pot2po.py: Porting fix for message cut
707 differently. Porting from 0.8 branch.
709 2006-02-09 13:39 davidfraser
711 * convert/test_convert.py: replaced tempdir with testdir
713 2006-02-09 13:37 davidfraser
715 * convert/test_convert.py: helper run_command that runs in the
718 2006-02-09 13:30 friedelwolff
720 * storage/: csvl10n.py, po.py, tbx.py, test_po.py, test_tbx.py,
721 test_tmx.py, tmx.py: Fix failing unit tests, use properties in
724 2006-02-09 13:28 davidfraser
726 * convert/: convert.py, csv2po.py, dtd2po.py, html2po.py,
727 moz2po.py, mozfunny2prop.py, nb2po.py, oo2po.py, po2csv.py,
728 po2dtd.py, po2html.py, po2moz.py, po2nb.py, po2oo.py, po2prop.py,
729 po2tmx.py, po2ts.py, po2txt.py, po2xliff.py, poreplace.py,
730 pot2po.py, prop2mozfunny.py, prop2po.py, sxw2po.py,
731 test_convert.py, test_oo2po.py, ts2po.py, txt2po.py, xliff2po.py:
732 modified convert methods to make the actual commandline operation
733 more testable all main functions now take an optional argv
734 parameter used for testing also refactored main functions for
735 modules that didn't have them... included a base
736 test_convert.TestConvertCommand class and an initial oo2po test
738 2006-02-09 13:19 friedelwolff
740 * storage/base.py: Use newstyle class for TranslationUnit
742 2006-02-09 13:10 friedelwolff
744 * storage/tbx.py: Inherit __init__, fix settarget(None)
746 2006-02-09 12:24 dwaynebailey
748 * convert/test_pot2po.py: Test to see that "fuzzy" markers in PO
749 files are carried across when merging with POT files.
751 2006-02-09 11:41 dwaynebailey
753 * convert/test_dtd2po.py: Add a test to see that we convert \r\n to
754 \n in a PO file and don't end up with \r in our PO messages.
756 2006-02-08 17:37 friedelwolff
758 * search/: Levenshtein.py, __init__.py, match.py,
759 test_Levenshtein.py, test_match.py: Search module to perform
760 translation memory matchin. Levenshtein distances are used to
763 2006-02-08 17:34 friedelwolff
765 * services/: lookupclient.py, lookupservice.py: Add method
766 "matches" to return likely matches from the storage
768 2006-02-08 16:34 dwaynebailey
770 * convert/pot2po.py: Fixes the bug that prevented us merging
771 messages that had the msgid cut differently.
773 2006-02-08 16:26 dwaynebailey
775 * convert/test_pot2po.py: Test when we are merging strings and the
776 msgid is cut/split differently but us actually exactly the same
777 string. We should merge correctly. Currently we drop those
778 strings. Fix comments for some tests
780 2006-02-08 15:42 dwaynebailey
782 * convert/test_pot2po.py: Add some tests for pot2po. Searching for
783 the bugs that people found with this so I can make some tests.
785 2006-02-08 14:18 friedelwolff
787 * storage/test_tbx.py: Move to base test class
789 2006-02-08 13:56 dwaynebailey
791 * storage/po.py: Converts \t and \r back into proper unescaped
794 2006-02-08 13:38 dwaynebailey
796 * convert/test_oo2po.py: Now also test for \t (Tab) anr \r
797 (Carriage Return) escaping
799 2006-02-08 13:31 dwaynebailey
801 * convert/test_dtd2po.py: Make sure \r appears correctly in the PO
804 2006-02-08 13:23 dwaynebailey
806 * convert/test_po2oo.py: Add \r roundtrip testing for our Windows
809 2006-02-08 13:21 dwaynebailey
811 * convert/test_po2dtd.py: Lets not forget to check for \r for our
814 2006-02-08 13:09 dwaynebailey
816 * convert/test_po2oo.py: Add a test for po2oo firstly to get
817 roundtrip checking on escapes, etc
819 2006-02-08 12:48 dwaynebailey
821 * storage/test_oo.py: Test the validity of the width entry in an
824 2006-02-08 12:17 dwaynebailey
826 * storage/test_oo.py: Add test to see that we can get the Quick
829 2006-02-07 22:20 dwaynebailey
831 * convert/test_dtd2po.py: Ensure that we can handle \n or \t
832 correctly when converting dtd to PO
834 2006-02-07 18:53 davidfraser
836 * convert/dtd2po.py, convert/test_csv2po.py,
837 convert/test_dtd2po.py, convert/test_oo2po.py,
838 convert/test_po2dtd.py, filters/checks.py, storage/test_dtd.py,
839 storage/test_zipfile.py, tools/poconflicts.py, tools/pydiff.py:
842 2006-02-07 18:42 davidfraser
844 * convert/test_dtd2po.py: changed test for newline escaping to test
845 the string converter function directly
847 2006-02-07 18:27 davidfraser
849 * storage/dtd.py: make sure we remove entities within comments from
850 the line that will be parsed (were doing it later and leaving
851 them in...) added comments that eplain better what we're doing
854 2006-02-07 18:19 davidfraser
856 * storage/test_dtd.py: added test for comments that wrap
859 2006-02-07 17:56 friedelwolff
861 * filters/prefilters.py: Add extra Afrikaans word with punctuation:
864 2006-02-07 16:49 dwaynebailey
866 * convert/test_po2dtd.py: Don't forget to test for tabs \t
868 2006-02-07 16:21 dwaynebailey
870 * filters/test_checks.py: A few more notranslatewords checks
872 2006-02-07 16:06 davidfraser
874 * convert/test_dtd2po.py: our merge test was coded the wrong way
877 2006-02-07 15:55 davidfraser
879 * convert/po2dtd.py: make case of accelerators match that in the
882 2006-02-07 15:53 davidfraser
884 * convert/test_po2dtd.py: added test for preserving access key case
887 2006-02-07 15:50 davidfraser
889 * storage/dtd.py: this old StopIteration was a means of returning
890 nothing when this function was an iterator rather return a blank
891 line which is what is actually required
893 2006-02-07 15:46 davidfraser
895 * storage/test_dtd.py: make sure blank lines at the end of the
896 string don't break parsing / regenerating the dtd
898 2006-02-07 15:32 davidfraser
900 * convert/dtd2po.py, storage/dtd.py: moved extractdtdstring from
901 dtd2po to dtd storage module as unquotefromdtd added rewrap
902 method and currently use it if dtd module is used to regenerate a
905 2006-02-07 12:29 davidfraser
907 * convert/test_po2dtd.py: use two input files to make sure we
908 actually convert the string back in roundtrip print out
909 intermediate roundtrip values to aid debugging errors added lots
910 of escaping and quote tests
912 2006-02-07 11:58 davidfraser
914 * convert/test_po2dtd.py: added string roundtrip helper
916 2006-02-07 11:47 dwaynebailey
918 * convert/test_po2dtd.py: Added test for merging flattened PO
919 entries back into their parent pretty printed entity.
921 2006-02-06 22:22 dwaynebailey
923 * filters/test_checks.py: More examples tests for notranslate
924 Checks for simpleplurals near non-whitespace
926 2006-02-06 17:09 friedelwolff
928 * filters/: checks.py, prefilters.py, test_checks.py: Fix some
931 2006-02-06 16:17 dwaynebailey
933 * convert/test_dtd2po.py: Add a test for #102. Entities that
934 appear inside SGML comments Identified #101 correctly
936 2006-02-06 16:00 dwaynebailey
938 * convert/test_dtd2po.py: If the template has a blank translation
939 eg translators.credits and we merge it with a language that has a
940 transaltion. Then we end up with the translation in msgid and
941 KDE comment in the msgid.
943 2006-02-06 09:35 friedelwolff
945 * convert/po2tmx.py: enable easy integration with pootle
947 2006-02-06 09:32 friedelwolff
949 * convert/csv2tbx.py: more renaming
951 2006-02-06 09:30 friedelwolff
953 * services/lookupservice: commandfile for lookupserverice.py
955 2006-02-03 14:59 friedelwolff
957 * services/: __init__.py, lookupclient.py, lookupservice.py:
958 Initial XML-RPC lookup service with example client.
960 2006-02-03 14:35 friedelwolff
962 * storage/tbx.py: some bugfixes
964 2006-02-03 11:40 dwaynebailey
966 * convert/dtd2po.py: Remove debug output
968 2006-02-03 11:24 dwaynebailey
970 * storage/test_dtd.py: Simple test for newlines in entities.
972 2006-02-03 11:18 dwaynebailey
974 * convert/: dtd2po.py, test_dtd2po.py: Fix for #79 multiline pretty
975 printed DTD entities. Tests included.
977 We do the following: * Single line elements are left untrated *
978 Multiline * Space at the start of the first line are
979 preserved * Whitespace at the start of all subsequent lines is
980 removed * All lines except the last have one whitespace
981 character (ensures that when join lines we don't join
982 words inadvertantly.)
984 2006-02-03 08:58 friedelwolff
986 * storage/tmx.py: Remove old code from ts storage
988 2006-02-03 08:26 friedelwolff
990 * convert/nb2po.py: more consistent renaming to base terminology
992 2006-02-02 17:09 davidfraser
994 * __version__.py: version 0.8rc7
996 2006-02-02 15:11 dwaynebailey
998 * convert/test_po2dtd.py: Test to check that we don't mess with the
999 encoding of an escaped \n from a PO file.
1001 2006-02-02 14:52 dwaynebailey
1003 * convert/test_dtd2po.py: We are escaping hard coded newlines found
1004 in DTDs when creating PO files. We should just carry them
1005 through and not escape them. Not these are not real newlines
1006 found in the file but a \n in the text.
1008 2006-02-02 14:37 friedelwolff
1010 * convert/test_csv2po.py: Extra test - quotes do indeed work
1012 2006-02-02 14:10 dwaynebailey
1014 * convert/: po2dtd.py, test_po2dtd.py: Add a test for convertdtd.
1015 This was to make the output to file fail. po2dtd misnamed str
1016 with scr. Fix was simple test was harder.
1018 2006-02-02 12:34 davidfraser
1020 * filters/test_checks.py: unicode escapes are easier to read in any
1023 2006-02-02 12:12 friedelwolff
1025 * convert/test_po2csv.py: The promised unit test
1027 2006-02-02 11:48 friedelwolff
1029 * convert/po2csv.py: unit tests for csv2po. fix for po2csv problem
1031 2006-02-02 11:37 davidfraser
1033 * convert/: csv2po.py, dtd2po.py, html2po.py, nb2po.py, oo2po.py,
1034 prop2po.py, sxw2po.py, ts2po.py, txt2po.py: added encoding
1035 argument when constructing poelements (its the default, but it
1038 2006-02-02 11:29 davidfraser
1040 * storage/po.py: remember encodings on poelements (set by default
1041 to be the same as the pofile that creates them) encode line by
1042 line so we don't have problems joining the string together (or
1043 dealing with mixed unicode / str)
1045 2006-02-02 11:25 davidfraser
1047 * storage/test_po.py: introduced a regularised set of tests that
1048 tests both in unicode and in encoded form
1050 2006-02-02 11:18 dwaynebailey
1052 * convert/test_csv2po.py: I backported this from HEAD a while back.
1053 All the tests pass so am checking it into this branch.
1055 2006-02-02 11:02 davidfraser
1057 * storage/test_po.py: include an escaped version of the character
1058 as the test_po.py file doesn't formally declare an encoding
1060 2006-02-02 10:49 dwaynebailey
1062 * storage/test_po.py: Test that exercises __str__ when we have
1063 unicode in the msgstr.
1065 2006-02-02 10:44 davidfraser
1067 * storage/po.py: getsource should always return a string, not None
1069 2006-02-02 10:43 davidfraser
1071 * convert/dtd2po.py: if thepo is blank and has no sources, it is
1072 probably a DONT_TRANSLATE and so we ignore it
1074 2006-02-02 10:42 davidfraser
1076 * convert/test_dtd2po.py: added simpler check for donttranslate,
1077 and removed printout that would cause error in entity test if it
1080 2006-02-02 10:29 davidfraser
1082 * storage/test_properties.py: added a check for escaped colons
1083 midstring to make sure we don't just handle the end of the string
1086 2006-02-02 10:26 davidfraser
1088 * misc/quote.py: this check was spurious as it just gave errors for
1089 unknown escapes at the end of a string...
1091 2006-02-02 10:24 davidfraser
1093 * storage/test_properties.py: added test for bug 97 (\: at end of
1094 string causes failure)
1096 2006-02-02 10:16 davidfraser
1098 * misc/quote.py: handle multiline escapes properly by returning the
1099 escape so the parser can use it
1101 2006-02-02 10:10 davidfraser
1103 * storage/test_properties.py: made singleentry helper, added test
1104 for multiline entries (currently fails)
1106 2006-02-02 10:06 davidfraser
1108 * storage/test_properties.py: added simple tests for properties
1111 2006-02-02 09:54 davidfraser
1113 * tools/test_pomerge.py: added simple tests for pomerge
1115 2006-02-01 10:36 dwaynebailey
1117 * filters/test_checks.py: Add some more 'should pass' tests for
1120 2006-02-01 09:14 dwaynebailey
1122 * filters/test_checks.py: More numbers checks to make sure we cover
1123 all variants of numbers with a degree sign.
1125 2006-01-31 21:16 dwaynebailey
1127 * convert/csv2po.py: It makes more sense to report the name of the
1128 CSV with a problem entry then to report the PO file.
1130 2006-01-31 14:39 friedelwolff
1132 * convert/test_po2csv.py: Unit test for single quoting problem
1134 2006-01-31 14:39 friedelwolff
1136 * convert/test_po2csv.py: file test_po2csv.py was added on branch
1137 translate-toolkit-0-8-branch on 2006-02-02 10:12:09 +0000
1139 2006-01-31 13:38 friedelwolff
1141 * convert/csv2po.py, convert/po2csv.py, convert/test_csv2po.py,
1142 convert/test_po2csv.py, storage/csvl10n.py: Complete CSV
1143 transition to base classes
1145 2006-01-31 13:38 dwaynebailey
1147 * convert/test_csv2po.py: file test_csv2po.py was added on branch
1148 translate-toolkit-0-8-branch on 2006-02-02 09:18:50 +0000
1150 2006-01-31 13:28 dwaynebailey
1152 * filters/test_checks.py: More single quote issues mostly around
1153 quotes near other puctuation Enable a simplecaps test - we should
1154 remove 'I' from text to compare as this give a number of false
1157 2006-01-31 10:32 friedelwolff
1159 * convert/csv2po.py, convert/csv2tbx.py, convert/po2csv.py,
1160 convert/test_csv2po.py, convert/test_po2csv.py,
1161 storage/csvl10n.py: CSV: closer to base classes\npo2csv:fix
1164 2006-01-30 22:54 dwaynebailey
1166 * filters/test_checks.py: Disabeled/commented out tests - Should
1167 eliminate must translate words from acronyms check. - Ability to
1168 find musttranslate words when prefixed
1170 New tests - Lots of musttranslate words surrounded by various
1173 2006-01-30 18:19 dwaynebailey
1175 * filters/test_checks.py: We shouldn't mark items that must remain
1176 unchanged as unchanged. ie variables and notranslate words.
1178 2006-01-30 16:28 dwaynebailey
1180 * filters/test_checks.py: Test for double variable problem.
1182 2006-01-30 16:09 dwaynebailey
1184 * filters/test_checks.py: We should be detecting must and dont
1185 translate words even when surrounded by punctuation.
1187 2006-01-30 12:58 friedelwolff
1189 * convert/test_csv2po.py: correct template usage
1191 2006-01-30 11:37 davidfraser
1193 * __version__.py: 0.8 is going to need fixing, setting to rc6 in
1194 preparation for bug day
1196 2006-01-30 11:23 davidfraser
1198 * storage/: csvl10n.py, dtd.py, oo.py, po.py, properties.py:
1199 plastered unicode conversion onto all the __str__ functions to
1200 make sure we don't get inane errors renamed the underlying
1201 function to getsource, which could be used alternatively if
1202 unicode is desired in certain cases. note that this will end up
1203 using UTF-8 encoding as a desparate measure rather than giving
1206 2006-01-30 09:36 friedelwolff
1208 * storage/test_csvl10n.py: unit tests for csv storage
1210 2006-01-29 00:49 friedelwolff
1212 * storage/csvl10n.py, convert/csv2po.py, convert/po2csv.py: Move
1215 2006-01-29 00:44 friedelwolff
1217 * convert/csv2tbx, convert/csv2tbx.py, storage/tbx.py,
1218 storage/test_tbx.py: Initial, buggy tbx and csv2tbx
1221 2006-01-28 20:14 dwaynebailey
1223 * filters/: checks.py, test_checks.py: A new Mozilla variable
1224 style: $ProgramName$
1226 2006-01-28 19:25 dwaynebailey
1228 * filters/: checks.py, test_checks.py: Add a simpleplurals test.
1229 Its really just an extractor in that it will highlight all source
1230 texts that contain "(s)" ie an English style plural.
1232 2006-01-28 17:00 dwaynebailey
1234 * filters/test_checks.py: Check variables at the end of sentences
1236 2006-01-28 15:42 dwaynebailey
1238 * convert/test_csv2po.py: Test the csv2po convertor. Simple
1239 conversion with template fails.
1241 2006-01-28 00:32 dwaynebailey
1243 * filters/test_checks.py: Added a few tests some of which will
1244 fail: F check for singlequotes at end of sentence F double HTML
1245 style variables with errors go undetected - variables in KDE
1246 comments should be ignored
1248 2006-01-28 00:30 dwaynebailey
1250 * filters/test_pofilter.py: Add a number of pofilter tests: *
1251 Whether to include review/fuzzies in tests * Extracting with
1252 isfuzzy and isreview
1254 Ideas for non-existant test and listing all tests but need to be
1255 able to get what would go to stderror to properly validate.
1257 2006-01-27 21:54 dwaynebailey
1259 * convert/test_prop2po.py: Add a test for DONT TRANSLATE comments.
1260 Not implemented yet, but its the same functionality that is found
1261 in dtd2po. This test is currently disabled.
1263 2006-01-27 20:31 dwaynebailey
1265 * storage/test_properties.py: Add test to check that escaped
1266 unicode is converted to proper unicode strings. Added a newline
1267 to test_simpledefinition - this breaks it but I think that's an
1268 issue with our parser anyway.
1270 2006-01-27 20:31 davidfraser
1272 * storage/test_properties.py: file test_properties.py was added on
1273 branch translate-toolkit-0-8-branch on 2006-02-02 08:06:42 +0000
1275 2006-01-27 19:55 dwaynebailey
1277 * storage/: properties.py, test_properties.py: That's __str__ not
1278 _str__ Add some tests for properties files
1280 2006-01-27 19:54 dwaynebailey
1282 * storage/properties.py: Thats __str__ not _str__
1284 2006-01-27 15:49 dwaynebailey
1286 * convert/: test_dtd2po.py, test_prop2po.py: Tests to check for
1287 folding of accelerator keys into other messages. The test for
1288 properties files is marked as xtest_ ie it won't run by default.
1289 This feature needs to be fixed then the test enabled.
1291 2006-01-27 12:06 friedelwolff
1293 * storage/test_po.py: extra test for getuquotedstr
1295 2006-01-27 10:44 friedelwolff
1297 * convert/po2tmx.py: small fixup for easy integration with pootle
1299 2006-01-27 09:53 dwaynebailey
1301 * filters/test_checks.py: Accelerators placed before variables
1302 should fail the accelerator test.
1304 2006-01-26 17:20 davidfraser
1306 * convert/csv2po.py, convert/dtd2po.py, convert/html2po.py,
1307 convert/nb2po.py, convert/oo2po.py, convert/po2csv.py,
1308 convert/po2dtd.py, convert/po2html.py, convert/po2nb.py,
1309 convert/po2oo.py, convert/po2prop.py, convert/po2tmx.py,
1310 convert/po2ts.py, convert/po2txt.py, convert/po2xliff.py,
1311 convert/poreplace.py, convert/pot2po.py, convert/prop2po.py,
1312 convert/sxw2po.py, convert/test_dtd2po.py, convert/test_oo2po.py,
1313 convert/test_prop2po.py, convert/ts2po.py, convert/txt2po.py,
1314 convert/xliff2po.py, filters/pofilter.py, storage/csvl10n.py,
1315 storage/dtd.py, storage/oo.py, storage/po.py,
1316 storage/properties.py, storage/test_po.py, storage/xliff.py,
1317 tools/pocompile.py, tools/poconflicts.py, tools/pocount.py,
1318 tools/podebug.py, tools/pogrep.py, tools/pomerge.py,
1319 tools/porestructure.py: refactor translate.storage.po to use
1320 translate.storage.base this involves wanton renaming of elements
1323 2006-01-26 16:53 davidfraser
1325 * storage/: base.py, test_base.py: added ability to force override
1326 of methods in base classes this is useful because otherwise the
1327 pickling we use for testing the base classes gets transposed to
1328 derived classes also allow an empty string for unit.target if it
1331 2006-01-26 11:10 davidfraser
1333 * storage/base.py: replace python 2.4 decorators with less
1334 beautiful function syntax that works in 2.3 etc
1336 2006-01-26 11:00 dwaynebailey
1338 * filters/: checks.py, decoration.py, test_checks.py: Add two new
1339 tests: urls - checks to see that basic URLs are not translated
1340 emails - check to see that email addresses are not translated
1342 2006-01-25 21:58 dwaynebailey
1344 * filters/: decoration.py, checks.py, test_checks.py: New pofilter
1345 test to ensure that functions() are not translated.
1347 2006-01-25 12:20 dwaynebailey
1349 * convert/test_prop2po.py: Added test to detect problem with
1350 multiline entries. Ie those with \ escapes newlines.
1352 2006-01-24 21:06 dwaynebailey
1354 * convert/test_dtd2po.py: Add a test that picks up DONT_TRANSLATE
1355 elements that are only themselves entities. These seems to come
1356 through as blank translations ie:
1358 msgid "_: \n" "" msgstr ""
1360 When they should simply be dropped.
1362 I have not created a fix.
1364 2006-01-24 19:18 dwaynebailey
1366 * storage/: po.py, test_po.py: Backport fixes: po class crashing
1367 when trying to parse a string.
1369 Backport tests: string and file tests and corrected error.
1370 Friedel's test for getunquotedstr (basic sanity check)
1372 2006-01-24 17:19 davidfraser
1374 * convert/test_prop2po.py: added test for unicode conversions
1376 2006-01-24 17:19 davidfraser
1378 * storage/: po.py, test_po.py: fix up unicode test, and add testing
1379 for when the msgid value is actually a unicode object, not a
1380 string this test is currently made to pass by manually converting
1381 to UTF-8 in poelement.__str__, but this is not the ultimate
1382 solution - we should know which encoding to convert to...
1384 2006-01-24 16:51 dwaynebailey
1386 * convert/test_dtd2po.py: Add convertdtd test for dtd2po similar to
1389 2006-01-24 16:42 davidfraser
1391 * storage/oo.py: rather than printing to sys.stderr, raise warnings
1392 this means repeated errors aren't output it also makes it much
1393 easier to test and catch the problems case in point: ignore empty
1396 2006-01-24 16:41 davidfraser
1398 * storage/test_oo.py: test handling of a blank line, make sure it
1399 doesn't produce even a warning added support for warning testing
1400 converted tab indents to spaces
1402 2006-01-24 16:41 dwaynebailey
1404 * storage/test_po.py: First attempt at a test to highlight
1405 __str__() problems with Unicode items at the PO element level.
1406 Test currently passes, it should fail.
1408 2006-01-24 16:35 davidfraser
1410 * storage/test_oo.py: added basic test for oo class
1412 2006-01-24 16:18 davidfraser
1414 * convert/test_prop2po.py: added test that ctually checks the
1415 convertprop method that the converter calls
1417 2006-01-24 15:59 dwaynebailey
1419 * convert/prop2po.py: Forward port a fix from 0.8 branch. src(blah)
1420 should have been str(blah)
1422 2006-01-24 15:57 dwaynebailey
1424 * convert/prop2po.py: We should be outputing _str_ not
1425 src(outputpo) - src function does not exist. Did not create a
1426 test for this. We probably should but I guess that will go into
1427 HEAD base class to exercise the _str_ functionality.
1429 2006-01-24 15:29 dwaynebailey
1431 * tools/.cvsignore: Ignore compiled Python files.
1433 2006-01-24 14:16 dwaynebailey
1435 * tools/.cvsignore: Ignore precompiled Python files.
1437 2006-01-24 14:16 dwaynebailey
1439 * tools/.cvsignore: file .cvsignore was added on branch
1440 translate-toolkit-0-8-branch on 2006-01-24 13:29:51 +0000
1442 2006-01-24 13:20 davidfraser
1444 * storage/test_base.py: refactored so reparsing and checking
1445 equality are separate functions
1447 2006-01-24 13:13 davidfraser
1449 * storage/: base.py, test_base.py: added ability to set target in
1452 2006-01-24 13:06 davidfraser
1454 * storage/: base.py, test_base.py: added doc strings added new test
1455 class for testing the individual Unit classes renamed TestClass
1456 attributes of classes to UnitClass / StoreClass (otherwise
1457 py.test tries to test them)
1459 2006-01-24 12:51 davidfraser
1461 * storage/: base.py, test_base.py: rename parse to parsestring and
1462 add parsefile and savefile methods
1464 2006-01-24 12:43 davidfraser
1466 * storage/: base.py, test_base.py: committed initial base class for
1467 TranslationStore, and tests. these will form the basis for the
1468 new API to po, xliff, etc
1470 2006-01-24 11:33 davidfraser
1472 * convert/csv2po.py, convert/dtd2po.py, convert/html2po.py,
1473 convert/nb2po.py, convert/oo2po.py, convert/po2csv.py,
1474 convert/po2dtd.py, convert/po2html.py, convert/po2nb.py,
1475 convert/po2oo.py, convert/po2prop.py, convert/po2tmx.py,
1476 convert/po2ts.py, convert/po2txt.py, convert/po2xliff.py,
1477 convert/poreplace.py, convert/pot2po.py, convert/prop2po.py,
1478 convert/sxw2po.py, convert/test_dtd2po.py, convert/test_oo2po.py,
1479 convert/test_prop2po.py, convert/ts2po.py, convert/txt2po.py,
1480 convert/xliff2po.py, filters/pofilter.py, storage/po.py,
1481 storage/test_po.py, storage/xliff.py, tools/pocompile.py,
1482 tools/poconflicts.py, tools/pocount.py, tools/podebug.py,
1483 tools/pogrep.py, tools/pomerge.py, tools/porestructure.py:
1484 renamed poelements to elements started trying to convert xliff
1485 transunits into elements
1487 2006-01-24 11:10 davidfraser
1489 * __version__.py: version 0.9 alpha 1 on HEAD
1491 2006-01-20 12:14 dwaynebailey
1493 * storage/: po.py, test_po.py: po class crashing when trying to
1496 Fixed string and file tests and corrected error.
1498 2006-01-20 12:05 dwaynebailey
1500 * storage/test_po.py: Add test for parsing a string or parsing a
1501 file. Thought I had a bug but it slipped through :/. The tests
1502 don't seem to find it.
1504 One problem the test writes to a file. We should remove and
1505 destroy it, I didn't (know how to).
1507 2006-01-20 08:35 friedelwolff
1509 * convert/test_po2tmx.py: Unit tests for po2tmx
1511 2006-01-19 18:08 friedelwolff
1513 * convert/po2tmx.py: Make source language work
1515 2006-01-19 16:23 friedelwolff
1517 * storage/test_tmx.py: Test entries with newlines and XML entities
1519 2006-01-19 15:36 friedelwolff
1521 * convert/po2tmx.py: Handle multiple files. Handle source and
1524 2006-01-19 15:19 davidfraser
1526 * storage/test_po.py: added Friedel's test for getunquotedstr
1527 (basic sanity check)
1529 2006-01-19 13:12 friedelwolff
1531 * storage/tmx.py: Handle sourcelanguage better
1533 2006-01-18 16:10 friedelwolff
1535 * storage/test_tmx.py: Unit tests for tmx storage
1537 2006-01-18 15:42 friedelwolff
1539 * storage/tmx.py: Up to tmx1.4, +accessors, fix getxml(), optimise
1542 2006-01-18 13:46 dwaynebailey
1544 * tools/pogrep.py: Fixes current instance of Pootle barfing on
1545 searching. However we still have problems with Unicode in search
1546 strings. Bug http://bugs.wordforge.org/show_bug.cgi?id=89 refers
1549 2006-01-17 17:07 davidfraser
1551 * ChangeLog: updated ChangeLog at 0.8 stage
1553 2006-01-17 15:41 davidfraser
1555 * storage/test_zipfile.py: added tests for zipfile module to make
1556 sure it supports required functionality for xpi module
1557 (refactored from previous non-py.test version)
1559 2006-01-17 09:53 davidfraser
1561 * filters/test_pofilter.py: added ability to pass cmdlineoptions to
1562 pofilter cmdlineparser
1564 2006-01-17 09:31 davidfraser
1566 * CREDITS: added nicolas
1568 2006-01-17 09:11 davidfraser
1570 * __version__.py: version 0.8 (at last!)
1572 2006-01-17 09:06 davidfraser
1574 * storage/: ts.py, xliff.py: commented out modifications to minidom
1577 2006-01-08 17:48 dwaynebailey
1579 * convert/test_prop2po.py: More tab at the end tests for prop2po
1581 2006-01-08 14:46 dwaynebailey
1583 * filters/test_checks.py: Fix many of the escape tests using raw
1584 wtrings Add another accelerator test for accelerators combined
1585 with variables on Mozilla Fix KDE comment tests More unchanged
1586 tests to cover KDE comments, numbers, accelerators Add validchars
1589 2006-01-08 14:29 dwaynebailey
1591 * filters/checks.py: Must remove KDE comments when checking for
1594 2006-01-08 14:26 dwaynebailey
1596 * filters/TODO: musttranslate and notranslate implement the stop
1597 words functionality.
1599 2005-12-23 16:46 dwaynebailey
1601 * filters/: checks.py, test_checks.py: Make singlequoting remove
1602 KDE comments before testing Add test to check that KDE comments
1605 Add fuller coverage for "escapes" unit tests.
1607 Add commented out tests for "simplcaps" and "spellcheck" as these
1608 are the only remaining tests that we need to check here.
1609 "isfuzzy" and "isreview" should be tested in test_pofilter.py
1611 2005-12-23 16:21 dwaynebailey
1613 * filters/test_checks.py: Add a unit test for pofilter "escapes"
1616 Add another test for "singlequotes" to check quotes at end of
1619 2005-12-23 16:17 dwaynebailey
1621 * filters/test_pofilter.py: Test to check variables spanning lines.
1623 2005-12-23 15:48 dwaynebailey
1625 * convert/: prop2po.py, test_prop2po.py: Only strip spaces, not all
1626 whitespace. Thus we leave \t (tabs) that occur at the end of a
1629 Also updated the test to focus on the \t at the end (removed all
1632 2005-12-23 15:24 dwaynebailey
1634 * convert/test_prop2po.py: Add a unit test harness for prop2po
1635 based on the tests for dtd2po.
1637 This includes a test for Bug 74.
1639 2005-12-23 15:11 davidfraser
1641 * filters/test_pofilter.py: actually pass a fake argument to the
1642 parser so it doesn't use sys.argv and thinks it has something to
1645 2005-12-23 15:10 davidfraser
1647 * filters/: pofilter.py, test_pofilter.py: added a way of testing
1648 pofilter by giving it actual poentries and passing them through
1649 the standard chain this slightly bypasses command line argument
1650 handling etc; refactored a helper to return a command line parser
1653 2005-12-23 14:56 davidfraser
1655 * convert/convert.py: avoid potential errors caused by default
1656 arguments getting set as member variables and modified
1658 2005-12-23 14:53 davidfraser
1660 * filters/: checks.py, pofilter.py: avoid potential errors caused
1661 by default arguments getting set as member variables and modified
1663 2005-12-23 14:52 davidfraser
1665 * filters/test_checks.py: this check was passing incorrectly
1666 because of mozilla variables leaking into the standard checker
1667 check properly now that that was fixed - should fail if & is
1668 not a variable and pass if it is
1670 2005-12-23 14:43 friedelwolff
1672 * filters/test_checks.py: Uncomment failing bracket test
1674 2005-12-23 14:41 davidfraser
1676 * filters/checks.py: map strings to unicode before checking valid
1679 2005-12-23 14:40 dwaynebailey
1681 * filters/test_checks.py: Add a unit test for pofilter
1682 "singlequoting" check.
1684 2005-12-23 14:38 davidfraser
1686 * filters/test_checks.py: added test for config objects not being
1687 muddly (which they were until a recent fix)
1689 2005-12-23 14:35 davidfraser
1691 * filters/checks.py: default [] arguments are a no-no - they can
1692 get altered if they are stored in the object, and cause muddly
1695 2005-12-23 14:31 dwaynebailey
1697 * filters/test_checks.py: Add tests to the "accelerator" unit test
1698 that covers the various types of accelerator keys.
1700 2005-12-23 14:24 dwaynebailey
1702 * filters/test_checks.py: Add unit tests for pofilter "variables"
1703 check. They are broken down into each defined checker type: KDE,
1706 2005-12-23 14:20 davidfraser
1708 * README: we're going to get the docs from the wiki, and we've
1709 relicensed them under GPL (see bug 33)
1711 2005-12-23 14:05 dwaynebailey
1713 * filters/test_checks.py: Added unit test for pofilter
1714 "setencecount" check.
1716 2005-12-23 13:58 dwaynebailey
1718 * filters/test_checks.py: Add unit test for pofilter "endpunc"
1721 2005-12-23 13:52 dwaynebailey
1723 * filters/test_checks.py: Add unit test for pofilter "startpunc"
1726 2005-12-23 13:49 dwaynebailey
1728 * filters/test_checks.py: Added unit test for pofilter
1729 "startwhitespace" check.
1731 2005-12-23 13:42 dwaynebailey
1733 * filters/test_checks.py: Added "endwhitespace" test
1735 2005-12-23 13:36 dwaynebailey
1737 * filters/test_checks.py: Added validchars test: this needs some
1738 fixing from Dave for the internal workings of validchars.
1740 2005-12-23 12:43 dwaynebailey
1742 * filters/test_checks.py: Put numbers test in alphabetic order
1744 Add a test for "purepunc"
1746 2005-12-23 12:39 dwaynebailey
1748 * filters/test_checks.py: Add a test for the kdecomments test
1750 2005-12-23 12:35 dwaynebailey
1752 * filters/test_checks.py: Add a test for pofilter "long" test
1754 2005-12-23 12:32 dwaynebailey
1756 * filters/test_checks.py: Reorder tests into alphabetic order - we
1757 have 34 so order is important.
1761 2005-12-23 12:31 friedelwolff
1763 * tools/porestructure.py: Don't use templates
1765 2005-12-23 12:23 dwaynebailey
1767 * filters/test_checks.py: Add tests for pofilter numbers test.
1769 2005-12-23 12:05 dwaynebailey
1771 * filters/test_checks.py: Make test names follow the pofilter
1772 names, to ease finding associated tests.
1774 2005-12-23 12:02 dwaynebailey
1776 * filters/test_checks.py: Change test_compendiumconflicts to use a
1777 raw string in the assert, to make things clearer.
1779 2005-12-23 11:59 dwaynebailey
1781 * filters/test_checks.py: Add test for doublespacing
1783 2005-12-23 11:31 davidfraser
1785 * convert/test_oo2po.py: used raw strings so escapes are less
1786 confusing added a test of escape conversions (bug 24)
1788 2005-12-23 11:24 friedelwolff
1790 * filters/helpers.py: Clarify comment
1792 2005-12-23 11:23 friedelwolff
1794 * filters/test_checks.py: More unit tests for standard checks
1796 2005-12-23 11:22 davidfraser
1798 * storage/: test_dtd.py, test_po.py: simplified by using str
1799 directly now that its that easy
1801 2005-12-23 11:19 davidfraser
1803 * convert/csv2po.py, convert/dtd2po.py, convert/html2po.py,
1804 convert/nb2po.py, convert/oo2po.py, convert/po2csv.py,
1805 convert/po2dtd.py, convert/po2oo.py, convert/poreplace.py,
1806 convert/pot2po.py, convert/prop2po.py, convert/sxw2po.py,
1807 convert/test_dtd2po.py, convert/test_po2dtd.py, convert/ts2po.py,
1808 convert/txt2po.py, convert/xliff2po.py, filters/pofilter.py,
1809 storage/csvl10n.py, storage/dtd.py, storage/oo.py, storage/po.py,
1810 storage/properties.py, storage/test_dtd.py, storage/test_po.py,
1811 tools/poconflicts.py, tools/podebug.py, tools/pogrep.py,
1812 tools/pomerge.py, tools/porestructure.py: replaced all tolines
1813 functions with __str__ functions that return a string rather than
1814 a list of lines note that we could use __unicode__ if desired as
1817 2005-12-23 11:03 dwaynebailey
1819 * convert/: dtd2po.py, test_dtd2po.py: Fix for Bug #79
1821 Removes starting whitespace in subsequent lines of a DTD entity.
1822 Thus the PO entry has these uneeded spaces removed.
1826 <!ENTITY blah "Some text and more"
1830 msgid "Some text \nand more" msgstr ""
1832 Conversion back does not create a pretty formatted entity and
1835 This fix does not solve the CRLF at the end of such multiline
1836 entities. See Bug 86 for the line ending problem.
1838 2005-12-23 10:39 davidfraser
1840 * convert/oo2po.py, convert/po2oo.py, convert/prop2mozfunny.py,
1841 convert/test_oo2po.py, storage/csvl10n.py, storage/dtd.py,
1842 storage/oo.py, storage/po.py, storage/properties.py,
1843 tools/pocount.py, tools/pomerge.py: replaced all fromlines
1844 functions with parse functions that take strings (or sometimes
1845 file objects) instead of lists of lines the underlying functions
1846 still often split things up into lines in some cases there was an
1847 existing parse function that called fromlines, so these have been
1848 merged also the dtd element parsing broke on empty strings with
1849 thinking it had a line, so this was fixed added an input argument
1850 to oofile so that it can be constructed more easily renamed
1851 methods in storage/oo.py oomultifile (getlines -> getsubfilesrc,
1852 getsubfile -> getsubfilename) added a simple test for oo2po
1854 2005-12-23 10:29 friedelwolff
1856 * tools/: porestructure, porestructure.py: Tool to restructure po
1857 files according to poconflicts directives
1859 2005-12-20 11:59 davidfraser
1861 * convert/po2csv.py: need a default value for columnorder so we can
1862 call convertfile with just the pofile argument (for Pootle)
1864 2005-12-13 16:54 davidfraser
1866 * storage/test_po.py: must make sure we don't add msgid_comments to
1867 blanks when keeping them
1869 2005-12-13 16:53 davidfraser
1871 * storage/po.py: Always add msgid_comment to blank entries unless
1872 "keep"ing them. This is already done for msgid_comment and
1873 msgid_comment_all so the one needing change is merge
1875 2005-12-13 16:47 davidfraser
1877 * storage/test_po.py: added tests for merging duplicates, and
1878 particularly ensure that merging blanks with "merge" adds
1879 msgid_comments see bug 15 for an explanation
1881 2005-12-08 14:59 friedelwolff
1883 * tools/pydiff.py: Support stdin. Check arguments more carefully.
1885 2005-12-08 12:49 davidfraser
1887 * storage/po.py: allow duplicate handling of blank msg ids, but
1890 2005-12-08 12:17 davidfraser
1892 * misc/test_zipfileext.py: only use TestFailed if test.test_support
1893 is present (requires python-devel on Fedora)
1895 2005-12-08 10:01 davidfraser
1897 * storage/xpi.py: support seamonkey containing os-specific jars by
1898 not letting them get matched as lang-reg and disrupt the locale
1901 2005-12-06 16:08 davidfraser
1903 * CREDITS: Friedel Wolff has been doing bug fixing
1905 2005-12-06 15:57 friedelwolff
1907 * tools/poconflicts.py: Complain if no ouput options are found
1909 2005-11-30 23:11 dwaynebailey
1911 * filters/test_checks.py: Unit test for pofilter "doublewords"
1912 test. Disable one for testing double variables as I'm unsure of
1913 how to prefilter variables.
1915 2005-11-30 22:55 dwaynebailey
1917 * filters/test_checks.py: Unit test for pofilter "filepaths" test
1919 2005-11-30 22:49 dwaynebailey
1921 * filters/test_checks.py: Unit tests for pofilter "untranslated"
1923 2005-11-30 22:42 dwaynebailey
1925 * filters/test_checks.py: Unit test for pofilter blank test
1927 2005-11-30 22:37 dwaynebailey
1929 * filters/test_checks.py: Test for conpedium conflicts
1931 2005-11-30 22:30 dwaynebailey
1933 * filters/test_checks.py: Add validation checks for acronyms
1935 2005-11-30 22:24 dwaynebailey
1937 * filters/test_checks.py: Also check that we can detect accelrators
1938 that are using Unicode characters in the translation.
1940 2005-11-30 22:18 dwaynebailey
1942 * filters/test_checks.py: Add test for pofilters accelerators test
1944 2005-11-30 22:06 dwaynebailey
1946 * filters/test_checks.py: Add test pofilter unchanged test.
1948 2005-11-30 21:26 dwaynebailey
1950 * filters/test_checks.py: Add startcap tests
1952 2005-11-29 20:55 dwaynebailey
1954 * convert/convert.py: For --duplicates make merge the default
1955 behaviour. This is the same and normal Gettext behaviour. This
1956 change should make it more understandable for the general user
1957 and still make it possible for the advanced user to manipulate
1960 2005-11-29 15:52 davidfraser
1962 * convert/po2xliff.py: convert getElementsByTagName results to list
1963 in case it returns a generator (bug 78)
1965 2005-11-29 15:09 davidfraser
1967 * storage/test_dtd.py: forgot that trailing \n again
1969 2005-11-29 15:06 davidfraser
1971 * storage/dtd.py: adding the \n to the comment broke stripping the
1972 comment from the line with the result that if it had a trailing
1973 space, it came out as an unparsed line, and so was repeated (bug
1974 77) doing the add after the stripping makes it work
1975 (test_commentclosing)
1977 2005-11-29 15:00 davidfraser
1979 * storage/test_dtd.py: test that if comments have trailing spaces
1980 they aren't duplicated
1982 2005-11-29 14:13 davidfraser
1984 * storage/po.py: if the msgid and msgstr are blank, but there is a
1985 source comment, this is still an important piece of a po file
1988 2005-11-29 14:09 davidfraser
1990 * storage/: test_po.py, po.py: added a test for combining msgid
1991 comments, and actually do it when reproducing the source
1993 2005-11-29 13:49 davidfraser
1995 * storage/test_po.py: added simple start to tests for po module
1997 2005-11-29 13:44 davidfraser
1999 * convert/test_po2dtd.py: added test for retaining hash prefix (bug
2002 2005-11-29 13:38 davidfraser
2004 * storage/: dtd.py, test_dtd.py: added a hack to handle
2005 "hashprefix" in dtd, and fixed up the slight format problem in
2008 2005-11-29 13:29 davidfraser
2010 * storage/test_dtd.py: added test for hashcomment from bug 81
2012 2005-11-28 17:20 davidfraser
2014 * storage/test_dtd.py: fixed simpleentity comment, added helper for
2015 regenerating source and test on simple string
2017 2005-11-28 17:12 davidfraser
2019 * storage/test_dtd.py: added initial simple dtd test
2021 2005-11-28 15:19 dwaynebailey
2023 * filters/checks.py: Fix situation when jToolkit is not installed.
2025 2005-11-19 08:33 davidfraser
2027 * CREDITS: some fixes from Matt Chisholm and Ognyan Kulev, testing
2028 by David Farning ; might have missed a few people out, so need to
2031 2005-11-19 08:27 davidfraser
2033 * __version__.py: version 0.8rc5
2035 2005-11-14 17:41 davidfraser
2037 * convert/test_dtd2po.py: actually we do want to convert the
2038 apostrophe in the po file
2040 2005-11-14 17:41 davidfraser
2042 * convert/dtd2po.py, storage/dtd.py: crazy to replace ' with
2043 single quote here as the defpart is still quoted so it will
2044 always break the quoting do it rather in dtd2po, then the
2045 back-conversion in po2dtd also still works this fixes bug 69
2047 2005-11-14 17:27 davidfraser
2049 * convert/test_dtd2po.py: added test for apostrophe breaking
2050 single-quoted entity definition moved bug numbers to end of doc
2053 2005-11-14 16:55 davidfraser
2055 * convert/test_dtd2po.py: added test for kde comments being merged
2058 2005-11-14 16:32 davidfraser
2060 * convert/test_dtd2po.py: updated test_entityname to
2061 test_donttranslate_label and explained current state a bit better
2063 2005-11-14 16:12 davidfraser
2065 * convert/test_dtd2po.py: added helper to return single element
2066 from pofile added doc strings to tests added test for bug 30
2068 2005-11-14 16:11 davidfraser
2070 * convert/dtd2po.py: replaced visiblecomments with othercomments as
2071 that's the correct name in pofile for # comments
2073 2005-11-14 15:59 davidfraser
2075 * convert/po2dtd.py: warn if accesskey is not found
2077 2005-11-14 15:58 davidfraser
2079 * convert/test_po2dtd.py: reset warnings properly using
2080 setup_method and teardown_method so tests don't interact badly
2081 added test to make sure missing access key raises an error (bug
2084 2005-11-14 15:49 davidfraser
2086 * convert/po2dtd.py: generate warnings rather than writing straight
2087 to sys.stderr don't use sy.argv[-1] for filename as this is
2088 almost invariably wrong
2090 2005-11-14 15:49 davidfraser
2092 * convert/test_po2dtd.py: added proper test that invalid ampersands
2093 generate warnings, renamed fix test
2095 2005-11-14 15:26 davidfraser
2097 * convert/po2dtd.py: check for invalid ampersands on straight
2098 po2dtd conversions fixed the ampersand correction position as it
2099 was keeping the ampersand and removing the next character!
2101 2005-11-14 15:25 davidfraser
2103 * convert/test_po2dtd.py: added test for ampersands being stripped
2104 out (doesn't detect warning as it says yet) added a helper to do
2105 dtd merging (not used yet)
2107 2005-11-14 15:10 davidfraser
2109 * storage/dtd.py: don't assume that self.entitytype will always be
2112 2005-11-14 15:09 davidfraser
2114 * convert/test_po2dtd.py: test that \n in msgstr is escaped
2115 correctly in dtd - bug 45
2117 2005-11-14 15:03 davidfraser
2119 * storage/po.py: Convert nplurals if its unicode too... This was
2120 bug 36 (Patch from Matt Chisholm)
2122 2005-11-14 14:43 davidfraser
2124 * convert/po2dtd.py: replaced quote functions etc with
2125 unquotefrompo make sure newlines aren't included (bug 16)
2127 2005-11-14 14:34 davidfraser
2129 * convert/test_po2dtd.py: added test for bug 16 in test_po2dtd
2131 2005-11-14 14:25 davidfraser
2133 * convert/dtd2po.py: move convertmixedelement below convertelement,
2134 which makes more sense removed a few blank lines
2136 2005-11-14 14:24 davidfraser
2138 * convert/test_dtd2po.py: check that the output actually contains
2139 credit.translation (otherwise it could be an empty string, the
2140 current situation) see
2141 http://bugs.wordforge.org/show_bug.cgi?id=15
2143 2005-11-14 14:16 davidfraser
2145 * convert/test_dtd2po.py: added py.test file for dtd2po
2147 2005-11-14 14:06 davidfraser
2149 * misc/test_zipfileext.py: added py.test tests for zipfileext that
2150 fixes problems in ZipFile
2152 2005-11-14 13:59 davidfraser
2154 * filters/: checks.py, test_checks.py: added helper functions
2155 passes and fails to checks, and use them from within test_checks
2156 this is neccessary now that a failure can raise a FilterFailure
2159 2005-11-14 13:16 davidfraser
2161 * convert/convert.py: only do a replace if both the searchstring
2162 and replacestring are not None
2164 2005-11-03 15:06 davidfraser
2166 * __version__.py: rc4, this is really a release candidate now :-)
2168 2005-11-03 14:58 davidfraser
2170 * convert/po2oo.py: this causes horrible problems for hristo and
2171 javier (printing out a unicode string) so trying a relatively
2172 verbose but hopefully safe alternative
2174 2005-11-02 11:33 davidfraser
2176 * convert/dtd2po.py: added a scheme to make sure that if the
2177 original strings didn't get mixed for an entity, the translated
2178 strings won't be mixed either
2180 2005-11-02 11:27 davidfraser
2182 * convert/po2moz.py: added --clonexpi option, which allows you to
2183 use a different xpi for the structure from the template xpi this
2184 is useful when recreating xpis but still wanting to use the en-US
2185 xpi for the original strings disabled copying from the template -
2186 all files should be unpacked into the input directory by moz2po
2187 anyway, and this ends up confusing things if the template xpi and
2188 the input xpi from moz2po had a different structure
2190 2005-11-02 11:20 davidfraser
2192 * storage/xpi.py: when cloning an xpi, if it is created in "w"
2193 mode, we should reopen it in "a" mode (or we just recreate a
2194 blank file) added TODO to check language replacement code
2196 2005-11-02 09:26 dwaynebailey
2198 * tools/poconflicts.py: poconflicts now adds a comment:
2200 # (poconflicts) path/to/file.po
2202 To each conflicting entry. This so that we can merge the
2203 corrected conflicts back into the original PO files.
2205 2005-10-31 17:47 davidfraser
2207 * storage/xpi.py: support passing locale and region to the XpiFile
2208 constructor actually pass them when cloning, since we are given
2211 2005-10-31 17:25 davidfraser
2213 * misc/quote.py: handle unicode in properties files (in utf-8) fix
2214 to the way mozilla actually handles unicode escapes \u or \u, up
2215 to four hexadecimal characters
2217 2005-10-31 17:20 davidfraser
2219 * convert/dtd2po.py: fix logic for handling empty dtd elements
2220 (empty string, but valid entity name)
2222 2005-10-31 12:24 davidfraser
2224 * misc/: optrecurse.py, progressbar.py: added support for a new
2225 progress option, --progress=names this just prints out filenames
2226 without any other progress indicator it's a good option when
2227 outputting to a log file rather than a terminal
2229 2005-10-31 12:00 davidfraser
2231 * storage/xpi.py: another fix to handle locales without regions
2232 also make suer the locale and region match the whole string, not
2233 just the start produce more errors if we cannot determine locale,
2234 don't use uncertain region
2236 2005-10-28 17:00 davidfraser
2238 * convert/: convert.py, moz2po.py, po2moz.py: added a Replacer
2239 object that you can give a search and replace to and then use its
2240 searchreplaceinput / searchreplacetemplate methods as converter
2241 objects this is basically so we can substitute in variables for
2242 the locale and change it automatically we then use this from
2243 moz2po / po2moz to prevent users having to edit .js, .manifest
2244 and .rdf files also use loops to define the format converters now
2245 that they are so prolific we have a hack on po2moz that updates
2246 the single replacer object with the locale later on as it is only
2249 2005-10-28 16:56 davidfraser
2251 * storage/xpi.py: handle converting the
2252 bin/chrome/lang-reg.manifest mapping back if the locale has not
2253 been discovered (just find the first thing that seems to match)
2254 this is basically for running xpi standalone to extract the files
2256 2005-10-28 16:28 davidfraser
2258 * storage/xpi.py: added a special hook to rename
2259 bin/chrome/en-US.manifest (or locale) to lang-reg.manifest (both
2262 2005-10-28 15:04 davidfraser
2264 * convert/po2dtd.py: handle merging with .title as well as .label
2265 made list of possible labelsuffixes and accesskeysuffixes to
2266 ensure it is extensible and logical
2268 2005-10-28 14:57 davidfraser
2270 * convert/po2moz.py: handle locales that are just lang without the
2273 2005-10-28 14:55 davidfraser
2275 * convert/dtd2po.py: handle merging with .title as well as .label
2276 made list of possible labelsuffixes and accesskeysuffixes to
2277 ensure it is extensible and logical
2279 2005-10-28 12:36 davidfraser
2281 * storage/xpi.py: handle blank regions (which is now expected to be
2282 more common in ff 1.5 cvs etc) including a fix for an incorrect
2285 2005-10-28 12:03 davidfraser
2287 * storage/dtd.py: handle lines that we don't otherwise parse
2288 (non-entity, non-comment lines) this is neccessary for handling
2289 the %realBrandDTD; lines that happen with parameterized entries
2290 we just pass them straight through. if such a line occurs after
2291 the last entity defined in the file, we uses a null dtdelement to
2292 represent it - we need to exclude this from the index
2294 2005-10-28 11:53 davidfraser
2296 * storage/dtd.py: handle <!ENTITY % brandDTD SYSTEM
2297 "chrome://branding/locale/brand.dtd"> (external entities in the
2298 XML spec) See http://www.w3.org/TR/REC-xml/#dt-extent Also allow
2299 dtd module to be run as a program that reads in a dtd and outputs
2300 it to stdout (useful for testing)
2302 2005-10-28 10:12 davidfraser
2304 * convert/: moz2po.py, po2moz.py: handle ini files that occur in
2307 2005-10-28 10:01 davidfraser
2309 * storage/xpi.py: only cause problems when two or more
2310 file/directory names giving locale are found if they mismatch,
2311 and give some more details
2313 2005-10-26 09:56 davidfraser
2315 * storage/po.py: handle unicode in both parts of the comment merge
2317 2005-10-25 19:57 dwaynebailey
2319 * filters/autocorrect.py: Don't try and correct untranslated
2322 2005-10-24 16:52 dwaynebailey
2324 * tools/pogrep.py: Allow unicode search strings.
2326 2005-10-19 11:28 davidfraser
2328 * storage/po.py: convert items to unicode if required for merge
2331 2005-10-18 18:06 dwaynebailey
2333 * filters/checks.py: Handle variables that have a numeric endmarker
2334 eg ('%', 1) I'm not sure if this actually ensures that they still
2335 work correctly but it does solve the problem of generating the
2336 error message for pofilter. It was trying to create a string by
2337 concatanating str + int. Now we elimiante the int.
2339 2005-10-18 17:04 davidfraser
2341 * CREDITS: Matthias Klose supplied some patches
2343 2005-10-18 15:51 davidfraser
2345 * convert/convert.py, convert/oo2po.py, convert/po2oo.py,
2346 storage/oo.py: addition of a long_keys option, to identify a
2347 translation across files. [Matthias Klose] add a multifile option
2348 with values "single" (the current behaviour), "toplevel",
2349 "onefile". Some files do contain only a few translations, and it
2350 makes sense to combine them. [Matthias Klose] modified the way
2351 the multifile option was passed in the above patch [David Fraser]
2353 2005-10-18 15:26 davidfraser
2355 * misc/optparse.py: fixed line-ending problem
2357 2005-10-11 10:12 davidfraser
2359 * storage/po.py: split at any blank line (so that DOS line endings
2360 are handled properly, gulp)
2362 2005-09-28 09:56 dwaynebailey
2364 * tools/pydiff.py: Messed up the workin of --contains in the last
2365 patches. This restores this option.
2367 2005-09-28 08:57 dwaynebailey
2369 * tools/pydiff.py: Added --accelerator option to allow you to
2370 ignore accelerator markers when identifying hunks using the
2371 --*contains options.
2373 This needs some refactoring.
2375 2005-09-28 08:48 dwaynebailey
2377 * tools/pydiff.py: Added -I option to ignore case when using
2378 --*contains options.
2380 2005-09-27 12:05 davidfraser
2382 * tools/pydiff.py: greatly enhanced version moved things to a
2383 class-based structure allow diffing directories, and recursive
2384 diffs enabled a few GNU diff options that are useful fixed a few
2385 minor bugs tried to make the output similar to GNU diff
2387 2005-09-26 18:26 davidfraser
2389 * tools/: pydiff, pydiff.py: added pydiff tool
2391 2005-09-19 19:46 dwaynebailey
2393 * storage/po.py: Add pofilter as a type of review marker. This
2394 means that pofilter comments ie "# (pofilter)" are now considered
2395 as the same as "# (review)"
2397 2005-09-10 00:56 dwaynebailey
2399 * filters/checks.py: handle single unicode string messages properly
2402 2005-09-09 13:48 dwaynebailey
2404 * filters/: checks.py, pofilter.py: added check for invalid
2405 characters that uses a file to read in the list of valid
2408 2005-09-08 16:25 dwaynebailey
2410 * convert/csv2po.py: improve the error messages when entry can't be
2413 2005-09-08 11:25 dwaynebailey
2415 * filters/checks.py: have more helpful error messages for
2416 untranslated, notranslatewords and musttranslatewords
2418 2005-09-08 11:14 dwaynebailey
2420 * filters/pofilter.py: include previous pofilter commented entries
2423 2005-09-08 10:32 dwaynebailey
2425 * filters/pofilter.py: use thepo.isreview so we pick up new #
2426 (review) style comments too added some fancy code to convert
2427 oldstyle #, review messages to new style # (review) also don't
2428 add a # (pofilter) message for review checks # (pofilter)
2429 messages should go in othercomments, not visiblecomments
2431 2005-09-08 09:53 dwaynebailey
2433 * storage/po.py: added ability to check for marked comments that
2434 pofilter now produces rather than flags these will be of the form
2435 # (commentmarker) detect # (review) as a review marker
2437 2005-09-08 09:01 dwaynebailey
2439 * filters/checks.py: added helpful error message for escapes error,
2440 make it a SeriousFilterFailure
2442 2005-09-08 08:54 dwaynebailey
2444 * filters/: checks.py, pofilter.py: added the ability to
2445 distinguish between normal filter failures and serious ones that
2446 should mark a message as being fuzzy (so at the moment only
2447 variable errors will make a message fuzzy) adjusted run_filters
2448 to return lists of filtername, message_or_exception rather than
2449 just a comment changed format of filter comments from #_
2450 filtername: message to # (pofilter) filtername: message to make
2451 them more easily detectable
2453 2005-09-08 08:26 dwaynebailey
2455 * filters/autocorrect.py: added autocorrects for space, end
2456 punctuation, initial caps
2458 2005-09-07 23:07 dwaynebailey
2460 * filters/: checks.py, pofilter.py: rearranged the way we pass
2461 options into pocheckfilter, pass the whole options object
2462 rather... added language option for spellchecker added
2463 spellchecking code which can use either enchant (fast, by
2464 default) or jToolkit.spellchecker (slow) make sure we handle
2465 unicode properly in FilterFailure messages raise errors in
2466 filters directly (easier for testing) improve brackets message
2467 using FilterFailure make acronyms ignore variable names
2469 2005-09-07 21:11 dwaynebailey
2471 * filters/: autocorrect.py, pofilter.py: changed ellipsis
2472 autocorrect to handle it anywhere in the string use the more
2473 correct unquotefrompo / quoteforpo to do autocorrect (we should
2474 use this for checks too later)
2476 2005-09-07 20:39 dwaynebailey
2478 * filters/: autocorrect.py, pofilter.py: added an autocorrect mode
2479 which has some predefined autocorrects that it will output to the
2480 results to in autocorrect mode, the standard comments etc will
2481 not be added and the entries will only be output if an
2482 autocorrect succeeds so far there is just one autocorrect
2483 defined, for ellipsis...
2485 2005-09-07 15:37 dwaynebailey
2487 * filters/checks.py: added FilterFailure exception class. This can
2488 be used to produce custom error messages Basically instead of
2489 returning False from the test, you raise a FilterFailure that you
2490 pass a message or list of messages adjusted accelerators and
2491 variables checks to produce intelligent messages using the
2492 FilterFailure class added notranslatewords and musttranslatewords
2493 to the filter for untranslated added Yet Another Variable Style
2494 for OpenOffice ($ATTRIBUTENAME in svx/source/form.po)
2496 2005-09-07 13:36 dwaynebailey
2498 * filters/: checks.py, pofilter.py: made musttranslate and
2499 notranslate case sensitive as they are often used for product
2502 2005-09-07 13:31 dwaynebailey
2504 * convert/csv2po.py, convert/po2csv.py, storage/csvl10n.py: added
2505 support for --columnorder switches in csv2po and po2csv which
2506 allow you to alter the order of columns by default the order is
2507 source,msgid,msgstr but you can change this and skip columns by
2508 using dummy column names
2510 2005-09-05 21:38 dwaynebailey
2512 * filters/checks.py: Added another OpenOffice style test ("[", "]")
2513 - this appears in the MSI installer. Am worried that this might
2514 cause too many false positives. But lets see. Ideally you
2515 should be able to set the variable styles in the POT header (or
2516 OOo should rationalise their variable styles). (PPS: they use
2517 both ~ and & as accelerators in this file... dumb dumb dumb)
2519 2005-09-05 17:37 davidfraser
2521 * storage/po.py: make the unicode error clearer by reporting the
2524 2005-08-31 15:39 dwaynebailey
2526 * tools/poconflicts.py: Add --invert (-v) - this swaps the msgid
2527 and msgstr for the conflict comparison this allowing us to
2528 extract destination words that were used to translate different
2529 source words. Most are OK but a few will be usuability issues.
2531 2005-08-24 18:40 davidfraser
2533 * tools/poconflicts.py: removed old reduction methods added simple
2536 2005-08-24 17:12 davidfraser
2538 * tools/poconflicts.py: tried to improve the algorithm for grouping
2539 conflicts - now uses the longest word in the msgid (other
2540 algorithm commented out)
2542 2005-08-24 14:24 davidfraser
2544 * tools/poconflicts.py: fixed help string and added description of
2545 operation handle trailing - in flatmsgid for filename, use
2546 "conflicts.po" if its empty
2548 2005-08-24 14:14 davidfraser
2550 * tools/: poconflicts, poconflicts.py: added po conflict detection
2553 2005-08-24 11:44 davidfraser
2555 * filters/pofilter.py: added must translate / no translate
2558 2005-08-17 15:24 davidfraser
2560 * filters/: checks.py, test_checks.py: renamed untranslatablewords
2561 to notranslatewords and added musttranslatewords (the logical
2562 opposite) added test and extended tests slightly
2564 2005-08-17 15:06 davidfraser
2566 * filters/: checks.py, test_checks.py: realized the logic for the
2567 untranslatable test was the wrong way round...
2569 2005-08-17 14:48 davidfraser
2571 * filters/checks.py: more sane way to do customization for projects
2572 (update config rather than overwriting it)
2574 2005-08-17 12:36 davidfraser
2576 * filters/: checks.py, pofilter.py, test_checks.py: separated out
2577 checker configuration into its own object (to allow user config
2578 read from files later...) moved untranslatablewords into checker
2579 configuration ignore untranslated test if no untranslatablewords
2580 adjusted derived classes, test accordingly
2582 2005-08-17 12:15 davidfraser
2584 * filters/: checks.py, test_checks.py: added "stopwords"
2585 (untranslatable words) - list needs to be made configurable added
2586 first py.test based tests on checks (currently just tests
2587 construction and stopwords)
2589 2005-08-03 23:17 dwaynebailey
2591 * convert/convert.py, misc/optrecurse.py: All command line options
2592 that can take a value from a predefined list now list the valid
2595 2005-07-28 19:40 dwaynebailey
2597 * convert/: dtd2po.py, oo2po.py, prop2po.py: Add
2598 X-Accelerator-Marker to the PO header. This is the preliminary
2599 to embeding more of this info in the PO file header and allowing
2600 tools like pofilter and Pootle to use that information to manage
2601 checking and accelerator highlighting.
2603 2005-07-02 22:51 davidfraser
2605 * convert/: po2ts.py, po2xliff.py: make sure po2xxx.convertfile
2606 works with a single pofile parameter for input for consistency
2608 2005-07-01 21:14 davidfraser
2610 * __init__.py, __version__.py, convert/__init__.py,
2611 convert/convert.py, convert/csv2po.py, convert/dtd2po.py,
2612 convert/html2po.py, convert/moz2po.py, convert/mozfunny2prop.py,
2613 convert/nb2po.py, convert/oo2po.py, convert/po2csv.py,
2614 convert/po2dtd.py, convert/po2html.py, convert/po2moz.py,
2615 convert/po2nb.py, convert/po2oo.py, convert/po2prop.py,
2616 convert/po2tmx.py, convert/po2ts.py, convert/po2txt.py,
2617 convert/po2xliff.py, convert/poreplace.py, convert/pot2po.py,
2618 convert/prop2mozfunny.py, convert/prop2po.py, convert/sxw2po.py,
2619 convert/ts2po.py, convert/txt2po.py, convert/xliff2po.py,
2620 filters/__init__.py, filters/checks.py, filters/decoration.py,
2621 filters/helpers.py, filters/prefilters.py, misc/__init__.py,
2622 misc/csv.py, misc/dictutils.py, misc/optparse.py,
2623 misc/optrecurse.py, misc/progressbar.py, misc/quote.py,
2624 misc/setup.py, misc/sparse.py, misc/textwrap.py,
2625 misc/wStringIO.py, misc/xmlwrapper.py, misc/zipfileext.py,
2626 storage/__init__.py, storage/csvl10n.py, storage/dtd.py,
2627 storage/html.py, storage/oo.py, storage/po.py,
2628 storage/properties.py, storage/tmx.py, storage/ts.py,
2629 storage/xliff.py, storage/xpi.py, tools/__init__.py,
2630 tools/pocompile.py, tools/pocount.py, tools/podebug.py,
2631 tools/pogrep.py, tools/pomerge.py: made all files python source
2632 encoding marked as utf-8 [Simos Xenitellis] also fixed a
2633 #!/usr/bin/python -> env python
2635 2005-06-30 21:14 dwaynebailey
2637 * tools/pocount.py: Added totals fro CSV mode. Mainly so that you
2638 can easily use the data in bash scripts instead of having to
2641 2005-06-30 21:00 dwaynebailey
2643 * convert/po2ts.py: Work with only po class within the conversion
2644 class and move filehandling to outside the class. This means we
2645 can use the po2ts class in Pootle while still allowing the
2646 command line po2ts to work.
2648 2005-06-28 21:11 davidfraser
2650 * storage/po.py: use dictionary utilities to ensure that any new
2651 items that are not already present will be ordered the same as
2654 2005-06-28 19:55 davidfraser
2656 * storage/po.py: changed default headers and added header_order
2659 2005-06-28 19:39 davidfraser
2661 * storage/po.py: improvements to header generation: added
2662 x_generator which can be overridden in a derived class (e.g. for
2663 Pootle) changed all makeheader arguments to be
2664 key.lower().replace("-", "_") for consistency adjust kwargs to
2665 makeheader, updateheader to be titlecase if lowercase deal with
2666 header arguments case-insensitively made parseheader use an
2667 ordered dictionary so they come out in the same order they went
2668 in in updateheader, add a header element if one isn't present
2670 2005-06-28 19:29 davidfraser
2672 * convert/pot2po.py: renamed all header variables to be aligned
2673 with the real header name parameters to makeheader have changed
2674 like this so it makes it easier
2676 2005-06-28 19:28 davidfraser
2678 * misc/dictutils.py: added dictutils for case-insensitive and
2679 ordered dictionaries
2681 2005-06-14 18:21 davidfraser
2683 * convert/prop2mozfunny.py: ignore comments that get inserted by
2684 mozfunny2prop (header describing file type) po2inc also needs to
2687 2005-06-14 18:16 davidfraser
2689 * convert/prop2mozfunny.py: templates file needs to be converted to
2692 2005-06-14 18:08 davidfraser
2694 * convert/: moz2po.py, po2moz.py: convert funny mozilla files from
2697 2005-06-14 18:07 davidfraser
2699 * convert/: mozfunny2prop.py, prop2mozfunny.py: added po conversion
2700 methods as well using prop2po / po2prop and fake file objects
2701 using wStringIO (also rename define to inc in function names,
2702 make a main function)
2704 2005-06-14 16:11 davidfraser
2706 * convert/: mozfunny2prop.py, prop2mozfunny.py: moved encoding
2707 parameter to function option (not yet commandline)
2709 2005-06-14 16:05 davidfraser
2711 * convert/: mozfunny2prop.py, prop2mozfunny.py: implemented the
2712 neccessary encoding conversions note that cp1252 is assumed for
2713 .it files - this should be made an option, its defined in
2716 2005-06-14 15:46 davidfraser
2718 * convert/: mozfunny2prop.py, prop2mozfunny.py: converted from
2719 little scripts to having proper methods etc
2721 2005-06-14 15:26 davidfraser
2723 * convert/xliff2po.py: the fuzzy flag is set if it was marked fuzzy
2724 in the XLIFF [Fredrik Corneliusson]
2726 2005-06-14 15:24 davidfraser
2728 * storage/xliff.py: patches from Fredrik Corneliusson: use a
2729 getText method to get text recursively rather than assuming its
2730 at the top level handle there being no target translationnode
2732 2005-06-09 20:13 dwaynebailey
2734 * storage/po.py: nplural => nplurals to prevent confusion in the
2737 Also convert nplurals to an integer if it is currently a string
2739 2005-06-09 20:04 dwaynebailey
2741 * storage/po.py: Change header creation strftime format string: %F
2742 does not exist on the windows implementation so convert to
2743 %Y-%m-%d which is equivalent.
2745 %z also does not exist but am not sure how to change that. The
2746 problem is that windows uses %Z instead which is the text based
2747 time zone desrtiptor. This would be OK except that localised
2748 Windows (ie Javier's Spanish one) uses non UTF-8 chars to
2749 describe it which of course makes the whole file barf. So either
2750 be drop %z on Windows platforms or we work out how to escape the
2751 text in the correct charset.
2753 2005-06-08 14:16 dwaynebailey
2755 * filters/TODO: New filter for checking for double caps issues Eg.
2756 SLOw RElease of CAps LOck
2758 2005-05-14 16:57 dwaynebailey
2760 * convert/po2xliff.py: For now skip plural messages.
2762 2005-05-14 16:55 dwaynebailey
2764 * convert/TODO: Note plural handling problem in CSV and XLIFF
2766 2005-05-14 16:52 dwaynebailey
2768 * storage/po.py: Handle the case where there is no Plural-Form
2771 2005-05-07 11:48 davidfraser
2773 * storage/po.py: allowed setting an elementclass for a pofile,
2774 which will use that class - default is still poelement also made
2775 copy method use the actual class of the object (this allows
2776 pootlefile to use a derived pootleelement)
2778 2005-05-06 11:42 davidfraser
2780 * storage/po.py: if msgid is plural, include plural in msgidlen
2782 2005-05-06 10:14 davidfraser
2784 * storage/po.py: when unquoting from po, if first line is blank
2785 then don't join with line break
2787 2005-04-28 10:33 dwaynebailey
2789 * convert/po2xliff.py: Move the file parsing out of convertor into
2790 convertpo. This will allow us to use the XLIFF convertor in
2793 2005-04-26 14:58 dwaynebailey
2795 * storage/po.py: Escape \t correctly - might need to consider
2796 others such as \v, etc but did this on an as needed basis. Only
2797 update the header if there is already an entry by that name
2798 present or iff you specify the add flag.
2800 2005-04-21 16:47 davidfraser
2802 * storage/xpi.py: adjusted findlangreg to be able to detect locale
2803 / region on the jar name this is because the latest Firefox
2804 structure expects the jars to contain locale/xxx rather than
2805 locale/en-US/xxx etc reported by Richard Allen
2807 2005-04-21 11:32 davidfraser
2809 * __version__.py: version 0.8rc3
2811 2005-04-21 11:23 davidfraser
2813 * tools/: ooo_languageselector.png, ooswitchlang, ooswitchlang.ico:
2814 removed ooswitchlang tool as its obsolete for OOo 2.x and can
2815 always be retrieve from CVS :-)
2817 2005-04-20 14:43 davidfraser
2819 * CREDITS: removed pootle-specific credits (moved to
2822 2005-04-20 12:47 davidfraser
2824 * convert/oo2po.py: updated oo2po to use a similar command-line
2825 syntax to po2oo (NOTE: this requires changes to scripts!) require
2826 a targetlanguage if not producing POTs set the source language as
2827 English if not supplied (using existing languages to calculate
2828 1.x/2.x) don't operate without languages any more, improve error
2829 detection and reporting
2831 2005-04-20 12:36 davidfraser
2833 * convert/convert.py: added verifyoptions hook for global
2834 verifications that you don't want to fail on every file (see next
2837 2005-04-20 12:33 davidfraser
2839 * storage/oo.py: collect all the different languageids present in
2842 2005-04-19 23:40 dwaynebailey
2844 * filters/checks.py: Added $[blah] variable type
2846 2005-04-18 23:36 dwaynebailey
2848 * filters/checks.py: OpenOffice has yet another variable style -
2849 ($...) of course itm might be a $... within () but it appeard not
2852 2005-04-14 11:20 davidfraser
2854 * misc/optrecurse.py: added ability for commands to produce man
2855 pages with --manpage option make sure the usetemplates errors
2856 don't produce an error when trying to make an error (if inputext
2857 and templateext are both None)
2859 2005-04-14 09:08 davidfraser
2861 * storage/po.py: initialize newcharsetline properly if no charset
2862 found in charsetline (thanks pychecker)
2864 2005-04-13 17:38 davidfraser
2866 * convert/: oo2po.py, po2oo.py: vastly improve the language
2867 handling code rather than assume lines are in the correct order
2868 in po2oo, only add lines for a language if a translation is
2869 present set the language correctly by requiring the language code
2870 (and improving the options setup) now renumberdest is not needed
2871 added a sourcelanguage option as well for people who want to use
2872 French etc for msgid
2874 2005-04-05 22:01 davidfraser
2876 * CREDITS: added credit to Fredrik Corneliusson for xliff work
2878 2005-04-05 22:00 davidfraser
2880 * CREDITS: added SVG logo for Pootle from Lucas Veietes
2882 2005-04-04 09:41 davidfraser
2884 * convert/po2xliff.py: support placeholder (variable) markup, and
2885 speed up xliff element generation [Fredrik Corneliusson]:
2886 > I've changed so that placeholders such as %s gets marked up
2888 > ph(placeholder) tags. It also sets the translated attribute and
2890 > state when appropriate.
2892 > As I found the xliff2po script to be extremely slow
2893 > (minutes for common po file) I made addtransunit method a
2895 > naive so it's now a matter of seconds for the same po file.
2897 2005-04-04 09:39 davidfraser
2899 * storage/xliff.py: made prettification of xml an option [Fredrik
2901 > I also had to chang so prettyprint in the storage/xliff.py
2903 > method is optional as I don't want to get whitespace into the
2904 > translation units.
2906 2005-03-29 20:46 dwaynebailey
2908 * storage/po.py: Add getheaderplural() to retrieve the plural-forms
2911 2005-03-29 19:22 davidfraser
2913 * convert/po2oo.py: don't print out an error on language code
2914 switch if line doesn't have any text (Pavel's request)
2916 2005-03-22 08:17 dwaynebailey
2918 * storage/po.py: If there is no header then don't update any header
2919 items. Don't even try to create a header.
2921 2005-03-21 20:12 dwaynebailey
2923 * storage/po.py: Added a method to update the Plural-Forms header
2925 2005-03-19 12:01 dwaynebailey
2927 * convert/po2tmx, convert/po2tmx.py, storage/tmx.py: po2tmx allows
2928 us to convert PO files to TMX (Translation Memory eXchange)
2929 format. This format is designed to allow the sharing of TM data.
2931 This implementation is beta alpha quality and has been sitting
2932 neglected on my harddrive. It is probably better that it move to
2933 a new home where someone can take good care of it.
2935 The TMX files it builds are probably wrong. But at least if
2936 people can test it then we can begin correcting errors.
2938 setup.py now includes a new section for installing beta software.
2939 Thus po2tmx will not be installed by default but requires:
2945 2005-03-18 18:51 davidfraser
2947 * storage/csvl10n.py: handle plain and unicode strings in cvsl10n
2949 2005-03-18 16:19 dwaynebailey
2951 * storage/po.py: Remove some debugging code
2953 2005-03-18 16:01 dwaynebailey
2955 * storage/po.py: POT-Creation-Date now has correct timezone
2956 information. Same will apply to PO-Revision-Date if it is set.
2957 Will probably still have problems if you set creationdate or
2958 revisiondate to a time object.
2960 2005-03-18 14:23 davidfraser
2962 * storage/po.py: FIXED: copy wasn't copying the constituent
2963 elements (was shallow), so altering the copied element altered
2966 2005-03-15 15:29 davidfraser
2968 * tools/pocompile.py: add an encoding header so Python doesn't
2969 issue a warning about Martin Loewis with a fancy o
2971 2005-03-14 14:47 dwaynebailey
2973 * storage/csvl10n.py: Create the dictionary using UTF-8 encoding.
2974 This eliminates crashes on Unicode. This should probably
2975 inteligently determine the output encoding. Either from the PO
2976 header or a command line options. But utf-8 is probably all we
2979 2005-03-14 00:39 dwaynebailey
2981 * storage/po.py: Update arbitrary PO header items.
2983 2005-03-11 17:09 dwaynebailey
2985 * tools/: pocompile, pocompile.py: We can now compile PO files into
2986 MO (Machine Object) files that can actually be used on a users
2987 machine. The main reason for this is so that Pootle can have the
2988 option of creating MO files for users to download and install.
2990 2005-03-02 07:54 dwaynebailey
2992 * filters/TODO: pofilter - sees %s %s as a doubleword
2994 2005-03-01 16:22 dwaynebailey
2996 * tools/TODO: Some pocount bugs
2998 2005-03-01 14:15 dwaynebailey
3000 * tools/pocount.py: Use --csv to output counts in Comma Seperated
3001 Value format for import into a spreadsheet.
3003 2005-02-28 17:30 davidfraser
3005 * convert/po2oo.py: handle unicode strings coming from the PO file
3008 2005-02-28 16:55 davidfraser
3010 * storage/oo.py: handle unicode filenames within oo file
3012 2005-02-25 10:28 dwaynebailey
3014 * filters/checks.py: Remove accelerators before checking capitals.
3016 2005-02-25 09:44 dwaynebailey
3018 * convert/TODO: Wish for --no-wrap to prevent lines being broken
3019 when creating the PO file. Mainly to help localisaers who will
3020 use CAT tools which can't segment across line breaks.
3022 2005-02-21 10:52 davidfraser
3024 * convert/prop2mozfunny.py: fixed up handle of unicode in funny
3027 2005-02-18 22:04 davidfraser
3029 * storage/po.py: POT files contain CHARSET as a placeholder for the
3030 encoding, we need to ignore it (this could be improved to map
3033 2005-02-18 21:48 davidfraser
3035 * convert/: mozfunny2prop.py, prop2mozfunny.py: added tools for
3036 handling funny .inc / .it files from firefox CVS (very primitive)
3038 2005-02-18 20:56 davidfraser
3040 * convert/po2dtd.py, misc/quote.py, storage/dtd.py: fixed up
3041 quoting in dtds (would give problems with both " and ' in the
3042 string) the correct way to do this is to use a ' for the '
3043 (if quoting with ') or a " for the " (if quoting with ") see
3044 http://www.w3.org/TR/2004/REC-xml11-20040204/#NT-EntityValue and
3045 #syntax also encode the line if it comes out as unicode in
3046 tolines fixed up general logic for eitherquotestr so it will
3047 escape normally (though that's not whats wanted for dtds)
3049 2005-02-17 20:05 davidfraser
3051 * convert/: po2dtd.py, po2prop.py: since po module now decodes
3052 strings to unicode we don't need to decode them ; still do if str
3055 2005-02-17 19:54 davidfraser
3057 * storage/po.py: handle missing encoding when encoding / decoding
3058 (we have to have one on encoding, just ignore on decoding)
3060 2005-02-17 19:30 davidfraser
3062 * storage/po.py: added code to encode / decode PO files based on
3063 the encoding specified in their header, rather than hard-coding
3066 2005-02-10 21:07 dwaynebailey
3068 * storage/po.py: Added missing header entries: Report-Msgid-Bugs-To
3071 2005-02-04 15:34 davidfraser
3073 * storage/ts.py: silly variable naming fix rearrangement make sure
3074 getmessagetranslation only gets one node
3076 2005-02-04 15:04 davidfraser
3078 * storage/ts.py: still need to catch the helper function for some
3081 2005-02-04 14:57 davidfraser
3083 * storage/ts.py: rather than having funny helper function names,
3084 set up the helper methods as normal functions added an index on
3085 message source per context node, to speed up searching
3087 2005-02-04 14:46 davidfraser
3089 * storage/ts.py: added new clever helper for searching elements by
3090 tagname (it takes advantage of the structure of the xml file, you
3091 say what parents to search under) added that as
3092 .searchElementsByTagName on Document and Elements within minidom
3093 moved helper functions out of QtTsParser, they really are
3094 functions use the search function to speed up finding things
3096 2005-02-04 14:07 davidfraser
3098 * storage/ts.py: added faster helper for getElementsByTagName that
3099 uses iterator added getFirstElementByName that knows how to take
3100 advantage of this in the common case of just getting one child
3101 taught getnodetext to handle None
3103 2005-02-04 08:11 davidfraser
3105 * convert/ts2po.py: use markfuzzy to do fuzzy marking consistently
3106 also don't mark blank unfinished messages as fuzzy
3108 2005-02-04 07:30 davidfraser
3110 * convert/ts2po.py, storage/ts.py: renamed getmessageattributes to
3111 getmessagetype, and changed type/msgtype variables to transtype
3113 2005-02-04 07:26 davidfraser
3115 * storage/ts.py, convert/po2ts.py: added default comment value of
3116 None to addtranslation
3118 2005-02-04 07:23 davidfraser
3120 * convert/po2ts.py, storage/ts.py: removed TODO for adding
3121 translation types renamed type to transtype and added default
3122 value of None (no type)
3124 2005-02-04 07:17 davidfraser
3126 * convert/ts2po.py, CREDITS, convert/po2ts.py, storage/ts.py:
3127 [Marek Wieckowski] added support for comments, and types in ts
3128 files - "obsolete" and "unfinished" patch received on
3129 translate-devel, Fri, 4 Feb 2005 05:51:16 +0100 (CET)
3131 2005-02-02 13:54 davidfraser
3133 * convert/po2xliff.py: handle missing line numbers properly
3135 2005-02-02 13:44 davidfraser
3137 * convert/po2xliff.py: added messages_%d id to new trans-unit nodes
3139 2005-02-02 13:37 davidfraser
3141 * convert/po2xliff.py, storage/xliff.py: added PoXliffParser
3142 derived from XliffParser to handle po-guide specific things use
3143 this to put translations in body element made XliffParser derive
3144 from object so it is a new-style class added XliffParser method
3145 for creating filenode so it can be overridden
3147 2005-02-02 13:24 davidfraser
3149 * convert/po2ts.py, storage/ts.py: _write_data should really be
3150 minidom._write_data, and a comment fix
3152 2005-02-02 13:10 davidfraser
3154 * storage/xliff.py, convert/po2xliff.py, convert/xliff2po.py: got
3155 po2xliff working in initial form misc changes: fixed up call to
3156 minidom._write_data in xliff added method to add a transunit node
3157 fixed up getnodetext to handle null Text too fixed up
3158 getting/setting of attributes
3160 2005-02-02 12:07 davidfraser
3162 * storage/xliff.py, convert/po2xliff, convert/po2xliff.py,
3163 convert/xliff2po, convert/xliff2po.py: added initial xliff
3164 support base on ts code
3166 2005-01-19 20:29 davidfraser
3168 * tools/pogrep.py: handle po entries that have a plural msgid but
3169 not a plural msgstr (this should really be fixed elsewhere)
3171 2005-01-19 20:12 davidfraser
3173 * storage/po.py: removed erroneous .msgid
3175 2005-01-19 20:06 davidfraser
3177 * storage/oo.py: raise a clearer error if a line doesn't contain
3178 enough tabs to determine the module
3180 2005-01-19 20:01 davidfraser
3182 * convert/oo2po.py, convert/po2oo.py, storage/po.py: moved and
3183 refactored po string quoting / unquoting functions from
3184 convert/oo2po,po2oo to storage/po adjusted getunquotedstr to pass
3185 parameters when used on a plural string entry, added TODO to
3186 refactor it we now have quoteforpo and unquotefrompo as fairly
3187 good symettrical quote/unquote functions getunquotedstr calls
3188 should be replaced with calls to unquotefrompo and tested where
3191 2005-01-19 12:56 davidfraser
3193 * filters/decoration.py: implement more careful check for degrees
3194 sign using unicode, fail gracefull if not utf-8
3196 2005-01-19 12:39 davidfraser
3198 * filters/: checks.py, pofilter.py: added support for giving a
3199 custom errorhandler to a TranslationChecker rather than raising
3200 an error on any error in the filter
3202 2005-01-11 23:28 dwaynebailey
3204 * tools/TODO: Two bugs related to obsolete messages have been fixed
3206 2005-01-11 00:14 dwaynebailey
3208 * storage/po.py: Wrong indent caused only one line of the obsolete
3209 message to be output
3211 2005-01-11 00:11 dwaynebailey
3213 * tools/pocount.py: Ignore obsolete messages: do not count them as
3216 2005-01-11 00:00 dwaynebailey
3218 * storage/po.py: Now store obsolete messages seperately from other
3219 comments. Added isobsolete() function.
3221 Now fuzzy obsolete messages are not made not fuzzy during a
3224 Should probably eventually actually read the msgid and msgstr
3225 contents of the obsolete message for doing machine assisted
3228 2005-01-06 17:00 dwaynebailey
3230 * README: Made Python 2.3 the recommended environment.
3232 2005-01-06 14:52 dwaynebailey
3234 * filters/TODO: Suggested file level checks
3236 2005-01-06 14:08 dwaynebailey
3238 * filters/checks.py: Added doublewords check. This will find
3239 occurances of "the the" in translations, most of these we assume
3242 2005-01-06 02:37 dwaynebailey
3244 * tools/pocount.py: Always provide a total if more than one file is
3245 counted whether the input is a file(s) or a directory. We also
3246 now provide a total of the number of files counted.
3248 2005-01-05 19:35 dwaynebailey
3250 * filters/TODO: Some bugs identified
3252 2005-01-05 15:01 dwaynebailey
3254 * filters/checks.py: Validated all filters that need a precondition
3255 untranslated check. Added: brackets, filepaths, isfuzzy and
3256 isreview Removed: long, short And any others for which I couldn't
3259 2005-01-05 14:15 dwaynebailey
3261 * filters/checks.py: Add compendiumconflicts as a precondition for
3262 a number of tests. This will prevent many false positives:
3263 errors identified but actually caused because of the compendium
3266 2005-01-03 10:00 dwaynebailey
3268 * tools/TODO: Bug pomerge removes fuzzy markers from obsolete
3271 2005-01-03 09:56 dwaynebailey
3273 * filters/TODO: More pofilter wishes
3275 2005-01-02 14:43 dwaynebailey
3277 * filters/checks.py: Add setencecount to untranslated precondition
3279 2005-01-01 11:13 dwaynebailey
3281 * filters/checks.py: Minor formating fix
3283 2005-01-01 11:05 dwaynebailey
3285 * filters/: TODO, checks.py: Added startcaps which checks to see
3286 that the starting letter is correctly capitalised. It is more
3287 specific then simplecaps, avoids confusion for the person
3288 checking and picks up a few that simplecaps misses.
3290 It does not correctly handle locale info about valid capitals.
3292 2004-12-31 17:18 dwaynebailey
3294 * README: The toolkit does more but we need to tell people that.
3295 pofilter has more checks and of course we have ts2po and html2po
3298 2004-12-20 12:24 davidfraser
3300 * filters/checks.py: if exceptions happen in a filter, show some
3301 information about what happened (and the strings)
3303 2004-12-17 23:03 davidfraser
3305 * convert/TODO: added ideas from Pavel on IRC
3307 2004-12-17 16:20 dwaynebailey
3309 * convert/TODO: po2dtd apersand checks don't give you good info as
3310 to wherre exactly the error occurs.
3312 2004-12-17 11:43 dwaynebailey
3314 * convert/TODO: Added TODO about installing docs in the right place
3317 2004-12-17 09:19 dwaynebailey
3319 * README: Credit Javer as a docs copyright holder. Caveat about
3322 2004-12-16 19:04 davidfraser
3324 * CREDITS: added some more credits
3326 2004-12-16 18:59 davidfraser
3328 * convert/: pot2po, pot2po.py: added simple pot2po tool
3330 2004-12-16 18:41 davidfraser
3332 * storage/po.py: added lots more options to makeheader (to enable
3333 it to make PO headers as well as POT ones) added a parseheader
3336 2004-12-16 11:52 dwaynebailey
3338 * filters/TODO: Spelling test wish
3340 2004-12-16 11:49 dwaynebailey
3342 * tools/TODO: Added bug: pocount counts obsolete messages as
3345 2004-12-16 09:44 dwaynebailey
3347 * filters/: TODO, checks.py: Added xmltags test that checks that
3348 the tags in msgid == msgstr. This will catch missing tags and
3349 translated tags. If tags cover the full length of the msgid then
3350 we assume it is something like "<Error>" and skip it as you are
3351 unlikely to find a proper XML/HTML tag on its own.
3353 2004-12-16 09:39 dwaynebailey
3355 * filters/TODO: Gettext conflicts are marked fuzzy so by using
3356 --nofuzzy you can skip them.
3358 2004-12-14 23:32 dwaynebailey
3360 * filters/pofilter.py: Now correctly ignore reviews with --noreview
3361 Also ensured that the default is to include revies and fuzzies
3363 2004-12-14 23:26 dwaynebailey
3365 * filters/pofilter.py: Correctly ignore fuzzy messages when using
3368 2004-12-14 22:15 davidfraser
3370 * convert/: dtd2po.py, moz2po.py, prop2po.py: added duplicates
3371 option to moz2po, dtd2po and prop2po
3373 2004-12-14 22:09 davidfraser
3375 * convert/: convert.py, oo2po.py: added new add_duplicates_option
3376 to ConvertOptionParser so we can share it between different
3379 2004-12-14 21:56 davidfraser
3381 * convert/: po2dtd.py, po2moz.py, po2prop.py: use add_fuzzy_option
3382 to simplify life. also added to po2moz (using the underlying
3383 functions it should all work)
3385 2004-12-14 21:53 davidfraser
3387 * convert/: convert.py, po2oo.py: made add_fuzzy_option on
3388 ConvertOptionParser so we don't duplicate work ...
3390 2004-12-14 21:39 dwaynebailey
3392 * convert/po2prop.py: And now po2prop can ignore fuzzy entries
3395 2004-12-14 21:11 dwaynebailey
3397 * convert/po2dtd.py: po2dtd can now also ignore PO messages marked
3400 2004-12-14 18:40 davidfraser
3402 * convert/TODO: have fixed double escaping. clarified oo output
3405 2004-12-14 18:31 davidfraser
3407 * convert/oo2po.py: added --duplicates option which specifies
3408 whether to merge duplicates (previous default behaviour),
3409 generate unique msgid_comments when required (or all the time),
3410 or keep them also added option to specify nonrecursive input
3412 2004-12-14 18:26 davidfraser
3414 * storage/po.py: added ability to specify different 'style's for
3415 handling duplicates this includes adding a unique kde-comment
3416 into the msgid if required (msgid_comment), or all the time
3417 (msgid_comment_all), merging it (the previous behaviour, and the
3418 default - merge), and ignoring them (keep)
3420 2004-12-14 17:49 davidfraser
3422 * convert/po2oo.py: make sure that includefuzzy still produces
3423 strings if there is no translation in the templatefile made
3424 includefuzzy an attribute of reoo so that it doesn't have to be
3425 passed around everywhere
3427 2004-12-14 15:12 davidfraser
3429 * convert/po2moz.py: adjusted to new isarchive syntax (which checks
3430 which field its for)
3432 2004-12-14 14:13 dwaynebailey
3434 * filters/: TODO, checks.py: sentencecount - counts the number of
3435 fullstops to see that they match. Ie a simple sentence counter.
3437 2004-12-14 12:38 davidfraser
3439 * convert/po2dtd.py: do a decode/encode using UTF-8 when getting
3440 label / accesskey, so that multibyte unicode characters are
3443 2004-12-14 12:34 davidfraser
3445 * convert/dtd2po.py: changed decoding syntax to be more consistent
3446 with the rest of the code
3448 2004-12-14 12:29 davidfraser
3450 * convert/: dtd2po.py, po2dtd.py: added a mention that the DTD
3451 files have to be in UTF-8 to the doc strings
3453 2004-12-14 12:26 dwaynebailey
3455 * filters/TODO: Added some TODO items
3457 2004-12-14 12:12 davidfraser
3459 * convert/dtd2po.py: Handle non-Ascii unicode accesskeys [Filip
3462 2004-12-14 11:51 davidfraser
3464 * CREDITS: Added Credits
3466 2004-12-13 18:43 davidfraser
3468 * convert/po2oo.py: added includefuzzy option that specifies
3469 whether or not to use fuzzy translations. turned off by default
3472 2004-12-13 18:05 davidfraser
3474 * convert/po2oo.py: use the includeescape function to only include
3475 escapes for \\n (since these aren't double-escaped in the file)
3477 2004-12-13 18:02 davidfraser
3479 * misc/quote.py: added the ability to selectively include escapes
3480 by passing an includeescapes function
3482 2004-12-13 17:43 davidfraser
3484 * convert/: moz2po, moz2po.py, po2moz, po2moz.py: moved all the
3485 actual functionality of the moz2po / po2moz scripts into
3486 moz2po.py / po2moz.py, like all the other civilized scripts...
3488 2004-12-13 17:37 davidfraser
3490 * convert/oo2po.py: make sure oomultifile is only used on input
3492 2004-12-13 17:30 davidfraser
3494 * convert/oo2po.py: made sure that \n is not double-escaped, but
3495 all other escapes are so that they will be handled properly in po
3498 2004-12-13 17:21 davidfraser
3500 * convert/oo2po.py: made a quoteforpo function so that we can
3501 change it to improve escaping
3503 2004-12-13 17:19 davidfraser
3505 * storage/po.py: made parsing the inputfile an exposed (and
3506 therefore repeatable, if you clean things up) function
3508 2004-12-13 16:24 dwaynebailey
3510 * filters/checks.py: Added filepaths test to check for translated
3513 2004-12-13 16:18 dwaynebailey
3515 * filters/checks.py: Added $(blah) style variables for GNOME
3518 2004-12-13 11:58 davidfraser
3520 * convert/po2oo.py: updated to only use oomultifile for output and
3521 templates. added options to prevent even them from being
3522 interpreted as recursive (useful for testing)
3524 2004-12-13 11:29 davidfraser
3526 * convert/convert.py, misc/optrecurse.py: fairly big change to
3527 ArchiveConvertOptionParser to allow specifying whether archive
3528 formats are applicable to only input, output or templates...
3529 added option "filepurpose" to isrecursive, isarchive (replacing
3530 mustexist there), openarchive added new method "getarchiveclass"
3531 which has the right logic and can be used to detect if something
3532 is an archive check that a template is marked as recursive as
3533 well as whether its an archive when opening a template file added
3534 optional options "allowrecursiveinput/archive/output" which
3535 default to True but can be set to False if recursive formats need
3536 to be explicitly avoided
3538 2004-12-13 09:41 davidfraser
3540 * convert/csv2po.py: the string might be unicode, so use whatever
3541 type it is to filter alphanumeric characters...
3543 2004-12-04 14:38 dwaynebailey
3545 * filters/pofilter.py: --header option adds an optional header to
3548 2004-12-04 14:31 dwaynebailey
3550 * tools/: TODO, pomerge.py: pomerge will now not merge header
3551 entries. When we can handle header merging properly we should
3552 enable header merging as an option.
3554 2004-12-04 01:04 dwaynebailey
3556 * filters/TODO: More TODOs
3558 2004-12-03 22:32 dwaynebailey
3560 * tools/TODO: We wish for pomigrate in python
3562 2004-12-03 17:55 davidfraser
3564 * storage/ts.py: added TODOs for parts of ts files not yet handled
3565 (comments, translation types) changed addtranslation to make a
3566 new translationnode to replace the old one ...
3568 2004-12-03 17:32 davidfraser
3570 * convert/: po2ts, po2ts.py: added po2ts and po2ts.py as reverse of
3573 2004-12-03 17:29 davidfraser
3575 * convert/: ts2po, ts2po.py: have made po2ts so you don't need to
3576 write it anymore :-) cleaned up leftover code from whatever file
3577 I based this on, that wasn't relevant
3579 2004-12-03 17:24 davidfraser
3581 * storage/ts.py: enhanced ts storage module to support adding
3582 translations and converting back to xml (in a pretty format)
3583 added support for constructing blank QtTsParser objects changed
3586 2004-12-03 16:11 davidfraser
3588 * convert/ts2po, convert/ts2po.py, storage/ts.py: added initial
3589 code for handling Qt Ts files
3591 2004-12-03 12:43 dwaynebailey
3593 * storage/po.py, tools/TODO, tools/pocount.py: Counts messages
3594 marked for review seperately from the translated, fuzzy,
3595 untranslated totals.
3597 2004-12-02 23:41 dwaynebailey
3599 * tools/pocount.py: Lonely bracket
3601 2004-12-02 22:11 dwaynebailey
3603 * tools/: TODO, pocount.py: Include blank msgid's in the count as
3604 this give a "string" count that will match msgfmt --statistics.
3605 This also does not change the word count, they're blank messages
3608 2004-12-02 21:09 davidfraser
3610 * tools/pogrep.py: added default options to pogrepfilter
3611 constructor to make it easier to use the class for other stuff
3614 2004-12-02 20:33 dwaynebailey
3616 * storage/po.py: Of course if you want the header to contain an
3617 automatic timestamp then you should delete the old static
3618 POT-Creation-Date line.
3620 2004-12-02 18:39 davidfraser
3622 * storage/html.py: added code to handle entities and character refs
3624 2004-12-02 18:09 davidfraser
3626 * convert/TODO: added more TODOs for oo2po / po2oo
3628 2004-12-02 17:00 davidfraser
3630 * storage/properties.py: added more explicit error message for
3631 problems with unicode in properties files
3633 2004-12-02 16:10 dwaynebailey
3635 * tools/: TODO, pocount.py: Provide a total for each PO file
3636 counted. So you don't have to get the calculator to add the
3637 translated + untranslated + fuzzy messages.
3639 2004-12-02 13:01 davidfraser
3641 * storage/po.py, tools/pocount.py: added stuff to po.getunquotedstr
3642 to handle dictinoaries for plural msgstr (in case it gets passed
3643 in by someone not knowing it was a plural) now wordcount in
3644 pocount.py doesn't need to know about it... (this shouldn't be
3645 used for normal translation, it's there just in case)
3647 2004-12-02 12:47 davidfraser
3649 * __init__.py: the package should be called "the translate toolkit"
3652 2004-12-02 09:45 dwaynebailey
3654 * tools/: TODO, pocount.py: Only provide a Grand Total if more than
3657 2004-12-02 09:39 dwaynebailey
3659 * tools/: TODO, pocount.py: pocount now correctly counts KDE style
3660 plural messages. A better fix would be for the po class to
3661 understand KDE plurals.
3663 2004-12-01 16:59 davidfraser
3665 * tools/pocount.py: remember all the word counts for all the
3666 elements' msgid and msgstr and sum them as required
3668 2004-12-01 16:51 davidfraser
3670 * storage/csvl10n.py: remember the csv file's filename
3672 2004-12-01 16:40 dwaynebailey
3674 * tools/: TODO, pocount.py: - Count msgid_plural properly by
3675 craeting a seperate wordcount procedure for msgid's that can
3676 count msgid and msgid_plural - Removed some debugging output
3678 2004-12-01 15:40 davidfraser
3680 * convert/: TODO, csv2po.py: added --charset option to csv2po that
3681 sets what charset the csv files are in made PO files UTF-8
3683 2004-12-01 15:18 davidfraser
3685 * tools/pocount.py: handle plurals in wordcount ...
3687 2004-11-30 14:27 dwaynebailey
3689 * tools/TODO: Lots of pocount todo items
3691 2004-11-28 16:15 dwaynebailey
3693 * convert/TODO, storage/po.py: POT headers now have the generation
3694 date and time. Timezone info seems to be missing however.
3696 2004-11-28 15:18 dwaynebailey
3698 * convert/: dtd2po.py, po2dtd.py: Now can merge accelerator keys of
3699 type: .accesskey, .accessKey, .akey. Probably should define that
3700 list of three types as some global but not sure how/where to do
3703 2004-11-28 09:10 dwaynebailey
3705 * filters/decoration.py: - If a number a suffixed with a degree
3706 sign, then this now forms part of the number for comparison.
3707 This allows for '180° != 180' NOTE: Not sure if this is 100%
3708 the correct approach. Should probably use Unicode throughout
3709 to not have to do this kind of unpacking. - Reset carryperiod so
3710 that you don't get number like 123.4.5 when the number actually
3711 was 123.45 (I'm sure it will expose a bug someday :)
3713 2004-11-27 22:03 dwaynebailey
3715 * tools/pogrep.py: --accelerator allows you to specify the
3716 accelerator key to ignore when matching. This way you will find:
3717 "File, &File. F&ile, etc". Accepted accelerator is one of "_&~"
3719 2004-11-27 18:46 davidfraser
3721 * filters/decoration.py: handle unicode when checking character
3724 2004-11-21 16:40 dwaynebailey
3726 * README: Windows installation instructions
3728 2004-11-20 17:04 davidfraser
3730 * storage/po.py: added a copy method for copying poelements
3732 2004-11-20 16:16 davidfraser
3734 * storage/po.py: use regular expressions to check for word
3735 boundaries properly also allow adding / removing type comments
3736 based on present keyword
3738 2004-11-20 15:41 davidfraser
3740 * filters/pofilter.py, storage/po.py: added methods to set type
3741 comments, in particular markfuzzy, and use them where done
3744 2004-11-18 16:54 davidfraser
3746 * convert/oo2po.py: if we don't have extra lines for a element,
3747 automatically make the translation blank
3749 2004-11-18 16:44 davidfraser
3751 * misc/optrecurse.py: handle KeyboardInterrupts properly (don't
3752 ignore them!) and set success to False on errors
3754 2004-11-18 16:38 davidfraser
3756 * convert/TODO: added TODO to not use fuzzies in conversion cleaned
3759 2004-11-18 16:35 davidfraser
3761 * filters/pofilter.py: Don't process if no valid filters were
3764 2004-11-18 13:52 davidfraser
3766 * storage/po.py: join the comments with a "\n" if there are more
3767 than one... otherwise we get this: "_: Do not translate this.
3768 Only change the numeric values if you need this ""dialogue box to
3771 2004-11-18 13:44 davidfraser
3773 * storage/dtd.py: refactored so that we can parse successfully even
3774 if entity name is on a separate line to <!ENTITY did this by
3775 adding a separate state, should cause no problems :-)
3777 2004-11-18 13:32 davidfraser
3779 * filters/checks.py: ignore numbers or single characters when
3782 2004-11-17 12:13 davidfraser
3784 * filters/checks.py: rather than assuming the strings are normal
3785 strs, use type(strn) in case they are unicode
3787 2004-11-15 22:37 davidfraser
3789 * misc/optrecurse.py: improved error correction and traceback
3790 generation - added an errorlevel switch
3792 2004-11-15 18:49 davidfraser
3794 * tools/podebug.py: added length limit option and consonant-filter
3795 option added basename format str, versions with/without
3796 extensions, dirname format str
3798 2004-11-15 18:32 davidfraser
3800 * tools/podebug.py: made simple system to allow format strings for
3801 podebug currently only %s (shrunk filename) and %f (full
3802 filename) are provided
3804 2004-11-15 14:39 dwaynebailey
3806 * filters/TODO: TODO items: added - skip entries that have
3807 #-#-#-#-# problems complete - empty translations can be extracted
3808 using blank, untranslated - for regex extraction use pogrep - KDE
3809 comments are removed in tests that had problems with the comments
3810 eg: long, short, etc
3812 2004-11-15 13:42 dwaynebailey
3814 * tools/pogrep: pogrep is now in tools not filters
3816 2004-11-14 00:02 davidfraser
3818 * storage/po.py: fixed logic that was skipping the first line of
3821 2004-11-13 18:08 davidfraser
3823 * README: fixed invalid URL
3825 2004-11-13 18:07 davidfraser
3827 * README: fixed spelling errors (aspell :-))
3829 2004-11-13 16:19 davidfraser
3831 * filters/checks.py: added dictionary to find checker for a given
3834 2004-11-13 13:49 dwaynebailey
3836 * README: Major revision of the README for 0.8 release
3838 2004-11-12 16:51 davidfraser
3840 * ChangeLog: updated to recent ChangeLog
3842 2004-11-12 16:51 davidfraser
3844 * misc/optrecurse.py: exclude CVS directories by default...
3846 2004-11-12 14:00 davidfraser
3848 * tools/: pocount.py, pogrep.py: pychecker fixes: sum is only
3849 needed if builtin is not defined logic in pogrep for multiple
3850 msgstrs was wrong (using thepo.msgstr instead of each item)
3852 2004-11-12 13:55 davidfraser
3854 * convert/README: removed README (we have docs\!)
3856 2004-11-12 13:54 davidfraser
3858 * filters/: checks.py, decoration.py: TeeChecker should use the
3859 checker to run_filters otherwise its an infinite loop... removed
3860 unneccessary import of sre, unused variable
3862 2004-11-12 13:53 davidfraser
3864 * convert/: csv2po.py, html2po.py, nb2po.py, oo2po.py, po2html.py,
3865 po2nb.py, po2txt.py, sxw2po.py, txt2po.py: only import the
3866 convert module in the main method throughout some pychecker
3867 fixups: made constructors for conversion classes that need wrap
3868 parameters remove unneccessary imports of os, sre modules
3869 txt2po didn't have a proper main method
3871 2004-11-12 13:40 davidfraser
3873 * storage/csvl10n.py: pychecker fixup (unused variables)
3875 2004-11-12 13:32 davidfraser
3877 * misc/: optrecurse.py, quote.py, sparse.py: pychecker changes (bad
3878 variable names, unused variables)
3880 2004-11-12 12:43 davidfraser
3882 * tools/__init__.py: better doc string
3884 2004-11-12 11:30 davidfraser
3886 * convert/: convert.py, oo2po.py, po2oo.py: made oo2po, po2oo treat
3887 any input file as a multifile archive (not just .gsi/.sdf/.txt)
3888 implemented this by using None to refer to any file, but not
3889 existing directories so to output to a directory tree, just make
3890 sure the output directory exists
3892 2004-11-12 10:03 davidfraser
3894 * storage/po.py: added better intelligence to handle kde comments
3895 (they end at the \\n) this could probably use further
3898 2004-11-12 09:40 dwaynebailey
3900 * filters/checks.py: prefilter -> prefilters added removekdecomment
3901 prefilter to brackets test
3903 2004-11-12 09:33 davidfraser
3905 * filters/prefilters.py: added more intelligence to get kde
3908 2004-11-11 16:36 dwaynebailey
3910 * tools/TODO: pomerge: - problem merging #: headers - need to be
3911 able to run without templates
3913 2004-11-11 15:02 dwaynebailey
3915 * tools/__init__.py: Tools should be installed as a module.
3917 2004-11-11 14:56 dwaynebailey
3919 * filters/checks.py: Added brackets filter Remove KDE comments
3920 before running tests on: long, short, blank and escapes.
3922 2004-11-10 16:59 davidfraser
3924 * tools/: podebug, podebug.py: added podebug
3926 2004-11-10 16:21 davidfraser
3928 * README: updated README to talk about Python 2.3
3930 2004-11-10 16:10 davidfraser
3932 * __version__.py: version 0.8rc2
3934 2004-11-10 15:40 davidfraser
3936 * filters/pogrep, filters/pogrep.py, tools/pogrep, tools/pogrep.py:
3937 moved pogrep from filters to tools
3939 2004-11-10 15:35 davidfraser
3941 * filters/: TODO, pofilter, pofilter.py, pogrep, pogrep.py:
3942 rearranged scripts into script/module parts
3944 2004-11-10 15:18 davidfraser
3946 * tools/: TODO, pocount, pocount.py, pomerge, pomerge.py: split
3947 scripts into script / module parts
3949 2004-11-10 10:18 davidfraser
3951 * storage/po.py, tools/pocount: pocount: use poelement class
3952 methods rather than handling strings ourselves as that breaks
3953 with plurals calculated length of msgstr correctly when used on
3954 plurals (failed before)
3956 2004-11-10 10:01 dwaynebailey
3958 * convert/po2csv.py: Incorrectly calling convertcsv
3960 2004-11-09 18:19 davidfraser
3962 * filters/TODO, tools/TODO: added TODO to rearrange the
3963 filters/tools scripts into script/module parts like I just did to
3964 the convert tools...
3966 2004-11-09 18:16 davidfraser
3968 * convert/: csv2po, csv2po.py, html2po, html2po.py, nb2po,
3969 nb2po.py, oo2po, oo2po.py, po2csv, po2csv.py, po2csvmod.py,
3970 po2html, po2html.py, po2nb, po2nb.py, po2oo, po2oo.py, po2txt,
3971 po2txt.py, sxw2po, sxw2po.py, txt2po, txt2po.py: massive
3972 reorganization to make sure all code is accessible via module, so
3973 the files not ending in .py are just scripts to call a main
3976 2004-11-08 17:40 davidfraser
3978 * convert/po2oo: started adding support for using simple
3979 unduplicated english GSI as input this duplicates the lines if
3982 2004-11-04 21:52 davidfraser
3984 * filters/pofilter: fixed options.filterclass so it works with new
3985 multiple classes (StandardPOChecker is always included now)
3987 2004-11-04 21:45 davidfraser
3989 * filters/prefilters.py: added a function to strip out kde comments
3991 2004-11-04 16:11 davidfraser
3993 * convert/: po2csv, po2csvmod.py: moved all the po2csv code into
3994 po2csvmod.py so that we can call it from pootle
3996 2004-11-04 14:58 dwaynebailey
3998 * filters/checks.py: Added tests: - kdecomments: detects kde
3999 comments in the msgstr - compendiumconflicts: detects #-#-#-#-#
4000 conflicts in files - acronyms: cehcks that acronyms in the msgid
4001 are also in the msgstr
4003 2004-11-04 14:22 davidfraser
4005 * filters/: checks.py, pofilter: created new POChecker paradigm for
4006 doing tests on po elements rather than just strings moved tests
4007 for fuzzy, review into this added TeeCheckers which can handle
4008 multiple filters, POTeeChecker which can handle POChecker or
4011 2004-11-03 09:18 davidfraser
4013 * filters/pofilter: added code to be able to exclude fuzzy / review
4014 elements from filtering entirely [Dwayne Bailey] this still
4015 probably needs more refinement alongside the filter checks for
4018 2004-11-03 09:13 davidfraser
4020 * filters/checks.py: filteraccelerators when checking unchanged, so
4021 just changing the accelerator doesn't qualify as a real change
4024 2004-11-02 11:25 dwaynebailey
4026 * filters/checks.py: Mozilla variable checks cahnged "#, None" to
4027 "#, 1" So only check for #1, #2
4029 2004-10-28 17:56 davidfraser
4031 * storage/dtd.py: improved entity parsing so we can handle entities
4032 split over multiple lines changed the order of the position
4033 checks so that we don't run into the end of the line... took out
4034 FIXME about single quotes (they are used in official firefox
4035 source) raise an error if we get an unexpected quote character
4037 2004-10-28 17:40 davidfraser
4039 * storage/dtd.py: don't process entities that are inside
4042 2004-10-28 17:32 davidfraser
4044 * misc/optrecurse.py: use special options.psyco value None to
4045 indicate no option was passed Only display a psyco warning if it
4046 was set to use explicitly
4048 2004-10-28 17:27 davidfraser
4050 * convert/po2oo: added a switch to keep the timestamps, which means
4051 you can compare files more easily
4053 2004-10-28 15:07 davidfraser
4055 * misc/optrecurse.py: fixed check for whether we need to know the
4056 number of files (console was old option) should now go to 100% in
4057 default case (was just using count instead of percent because of
4060 2004-10-28 10:26 davidfraser
4062 * convert/translatepath.py, filters/pofilter, filters/pogrep,
4063 filters/translatepath.py, tools/pomerge, tools/translatepath.py:
4064 removed all remaining translatepath stuff
4066 2004-10-28 10:09 davidfraser
4068 * convert/: dtd2po.py, html2po, moz2po, nb2po, oo2po, po2csv,
4069 po2dtd.py, po2html, po2nb, po2oo, po2prop.py, po2txt, prop2po.py,
4070 sxw2po, txt2po: removed translatepath imports ; it doesn't work
4073 2004-10-28 09:48 davidfraser
4075 * convert/TODO: added todo to change the order of csv columns
4077 2004-10-28 09:36 davidfraser
4079 * convert/csv2po: enable conversion without template
4081 2004-10-25 18:51 davidfraser
4083 * convert/TODO: some mozilla stuff is done found an error on
4086 2004-10-25 13:13 dwaynebailey
4088 * filters/checks.py: Added #1 style variables to the --mozilla
4091 2004-10-22 15:54 davidfraser
4093 * misc/wStringIO.py: catch error trying to do getvalue on closed
4094 files... (self.buf is gone because we delete it) this can happen
4095 if for example a CatchStringOutput has close() called twice...
4097 2004-10-22 15:47 davidfraser
4099 * convert/convert.py: don't close files we copy because the
4100 processfile module does that anyway... make processfile check
4101 that files aren't a tty (as the copy file did...) (not sure if
4102 this is neccessary but can't hurt)
4104 2004-10-22 14:15 dwaynebailey
4106 * tools/pocount: - Laoyout is now more readable with similar items
4107 grouped in columns. - Introduced a translated count so that we
4108 can get better total figures - Entries marked fuzzy and which are
4109 untranslated are no longer double counted. A n entry is fuzzy
4110 if it is marked fuzzy and in not untranslated. This change
4111 also makes it easier to total and evaluate figures.
4113 2004-10-21 17:20 davidfraser
4115 * convert/po2moz: open the outputarchive in write mode if it
4116 doesn't exist oh, and translatepath doesn't work...
4118 2004-10-19 13:46 davidfraser
4120 * filters/pofilter: remove -x and change --exclude to
4121 --excludefilter to prevent option with main optrecurse
4122 -x/--exclude option for folders
4124 2004-10-18 19:46 davidfraser
4126 * convert/csv2po, convert/dtd2po.py, convert/html2po,
4127 convert/moz2po, convert/nb2po, convert/oo2po, convert/po2csv,
4128 convert/po2dtd.py, convert/po2html, convert/po2moz,
4129 convert/po2nb, convert/po2oo, convert/po2prop.py, convert/po2txt,
4130 convert/prop2po.py, convert/sxw2po, convert/translatepath.py,
4131 convert/txt2po, filters/pofilter, filters/pogrep,
4132 filters/translatepath.py, tools/pocount, tools/pomerge,
4133 tools/translatepath.py: added translatepath to all the tools,
4134 which tries to find the right directory and add it to the python
4135 path if translate can't be imported. one of these lives in each
4136 directory with executable scripts in them so they can find it
4139 2004-10-18 19:37 davidfraser
4141 * ChangeLog: updated ChangeLog to 0.8rc1
4143 2004-10-04 16:39 davidfraser
4145 * __version__.py: version 0.8 RC1
4147 2004-10-04 16:37 davidfraser
4149 * storage/oo.py: refactored oomultifile to work both as input file
4150 and as output file added 'mode' argument ('w' for writing, also
4151 done if file doesn't exist and mode is None) uses
4152 wStringIO.CatchStringOutput to write output file contents...
4154 2004-10-04 16:32 davidfraser
4156 * convert/: convert.py, po2moz: added support for excluding files
4157 to convert.py (with -x/--exclude switch) added direct support for
4158 output archives to convert.py, moved some code out of po2moz /
4159 refactored (this will be used in po2oo too) close output files in
4160 processfile for ArchiveConvertOptionParser, since they may be
4161 subfiles... also added support for passing kwargs through
4162 openarchive (so far just mode='w' is needed)
4164 2004-10-04 16:29 davidfraser
4166 * storage/xpi.py, misc/wStringIO.py: moved CatchStringOutput from
4169 2004-10-04 09:21 davidfraser
4171 * misc/optrecurse.py: added an --exclude (or -x) option, so that
4172 for example you can ignore CVS directories. Supports pattern
4175 2004-10-01 16:14 davidfraser
4177 * storage/oo.py, convert/oo2po: made it so oo2po po files now
4178 contain the original oo pseudo-filename in the comment at the top
4180 2004-10-01 15:41 davidfraser
4182 * convert/: oo2po, po2oo: include the resourcetype in the key to
4183 prevent overlapping keys made escaping consistent and workable so
4184 that the round trip is always correct
4186 2004-10-01 15:35 davidfraser
4188 * misc/quote.py: took out odd method of not using escapes, do it
4191 2004-10-01 12:12 davidfraser
4193 * convert/: oo2po, po2oo: reduce the keys so it only contains the
4194 base filename (the project and directory are in the po file
4197 2004-10-01 11:44 davidfraser
4199 * storage/oo.py: updated to work with
4200 convert.ArchiveConvertOptionParser made it able to handle input
4201 file name more cross-platform path generation iterator, in
4202 operator, openfile renamed to openinputfile
4204 2004-10-01 11:41 davidfraser
4206 * convert/: oo2po, po2oo: added .txt as extension for oomultifiles
4208 2004-09-30 17:22 davidfraser
4210 * convert/oo2po: support gsi and sdf extensions as archives
4212 2004-09-30 17:20 davidfraser
4214 * convert/convert.py: check if templates are used before trying to
4215 access options.templates, to prevent error...
4217 2004-09-30 16:58 davidfraser
4219 * convert/oo2po: switched to use convert.ArchiveConvertOptionParser
4220 (since it is the revamped MozCOP that GSICOP was based on)
4222 2004-09-30 12:47 davidfraser
4224 * convert/oo2po: added a TODO
4226 2004-09-30 11:52 davidfraser
4228 * convert/: convert.py, moz2po, po2moz: refactored as much as
4229 possible from MozConvertOptionParser classes in moz2po and po2moz
4230 the new class is convert.ArchiveConvertOptionParser, should be
4231 able to use for OO GSI files too... moz2po now just uses the
4232 class directly, po2moz adds one method this required some changes
4233 to the xpi.XpiFile class, basically it uses a few methods and
4234 iterators/in operator so should be simple to implement other
4237 2004-09-30 11:36 davidfraser
4239 * misc/optrecurse.py: since splitinputext and splittemplateext are
4240 the same in the baseclass, and useful, made splitext that does
4241 that, and call it from them (splitinputext is overridden
4242 sometimes for some reason)
4244 2004-09-30 11:30 davidfraser
4246 * storage/xpi.py: added __iter__, __contains__, openinputfile,
4247 openoutputfile methods used by convert - that means it doesn't
4248 have to know much about XpiFiles if no region is found, try and
4249 get it automatically from the locale name only add dirmap entries
4250 for valid locale and region took out unused code for renaming
4253 2004-09-30 09:17 davidfraser
4255 * storage/oo.py: modified to produce lots of small files rather
4256 than one per module...
4258 2004-09-30 09:07 davidfraser
4260 * storage/oo.py: renamed "module" variables to "subfile" in
4261 oomultifile added openfile method that uses wStringIO to create a
4262 pseudo-file for a subfile
4264 2004-09-29 17:57 davidfraser
4266 * convert/oo2po: added GSIConvertOptionParser, analogous to
4267 XpiConvertOptionParser (and based on it) This allows treating a
4268 GSI file as multiple files, using oo.oomultifile similar support
4269 needed for the reverse process...
4271 2004-09-29 17:20 davidfraser
4273 * storage/oo.py: added oomultifile class that can be used to treat
4274 smaller sections of a file as individual oofiles
4276 2004-09-29 16:32 davidfraser
4278 * convert/oo2po: added support for passing language parameters on
4279 command line, TODO for making it work properly :-)
4281 2004-09-28 14:12 davidfraser
4283 * convert/po2moz: added option to change locale, which restructures
4284 directories etc inside xpi jars using new xpi.clone parameters
4285 this is required for the round-trip xpi -> po -> xpi to work,
4286 which is now complete extended warning when files not found in
4289 2004-09-28 14:10 davidfraser
4291 * storage/xpi.py: various changes needed to handle directory
4292 structures when changing language names (removed TODOs) split
4293 initdirmap into findlangreg and setlangreg move files directly in
4294 xpi (not in a sub-jar) into a "package" directory added method
4295 restructurejar which moves things from one lang-region to another
4296 modified clone to reconstruct jars using restructurejar keep
4297 locale and region as members
4299 2004-09-28 12:21 davidfraser
4301 * tools/oosetupmerge: updated to handle languages list better
4303 2004-09-28 12:10 davidfraser
4305 * storage/xpi.py: only print out the name when listing files...
4307 2004-09-28 12:08 davidfraser
4309 * storage/html.py: added span as a text-marking tag
4311 2004-09-28 12:06 davidfraser
4313 * __version__.py: version 0.8 beta 3
4315 2004-08-31 17:48 davidfraser
4317 * convert/po2prop.py: added a little hook that will allow setting
4318 strings to empty values by setting the msgstr to " " (three
4321 2004-08-31 17:07 davidfraser
4323 * convert/dtd2po.py: fixed a bug where the logic for mixed entities
4324 failed for merging dtds (basically the mixed entity was marked as
4325 already merged when the original version was converted, so the
4326 translation was ignored) this is fixed by using "mixbuckets" to
4327 mark the alreadymerged value differently for orig and translation
4329 2004-08-31 15:23 davidfraser
4331 * convert/: po2nb, nb2po: added fixes to handle end of lines sanely
4332 only replace one instance of each string in the result when
4335 2004-08-27 13:46 davidfraser
4337 * convert/po2html: only do a replace if the translation is
4340 2004-08-27 13:31 davidfraser
4342 * convert/html2po: strip html blocks
4344 2004-08-27 13:10 davidfraser
4346 * convert/html2po: allow generation of .pot files
4348 2004-08-27 13:07 davidfraser
4350 * convert/: nb2po, po2nb: updated nb2po to fit with new
4351 storage.html handling of untaggeddata (part of normal blocks)
4352 added usepots option to nb2po nb parts files are always htm, not
4353 html - updated po2nb
4355 2004-08-27 13:01 davidfraser
4357 * convert/html2po: added option to include untagged data
4359 2004-08-27 12:52 davidfraser
4361 * convert/po2nb: added po2nb to translate nanoblogger part files
4364 2004-08-27 12:26 davidfraser
4366 * storage/html.py: added code to include untagged data in the blogs
4367 if desired added li as a valid marking tag
4369 2004-08-27 12:10 davidfraser
4371 * convert/nb2po: added code to parse html and split up blocks with
4372 a fair amount of intelligence removed unneccessary import of os
4375 2004-08-27 11:54 davidfraser
4377 * convert/nb2po: added initial nb2po script for handling
4380 2004-08-27 11:41 davidfraser
4382 * convert/html2po, storage/html.py: moved POHTMLParser from
4383 convert/html2po to new storage/html.py module removed
4384 unneccessary import of os module
4386 2004-08-27 11:17 davidfraser
4388 * convert/: TODO, html2po: added TODO for oo2po removed notes about
4389 po2html not existing...
4391 2004-08-23 13:22 davidfraser
4393 * tools/ooswitchlang: need to import sys to get the arguments
4396 2004-08-18 12:25 davidfraser
4398 * tools/oosetupmerge: rather have a \n inserted before the field
4399 name because this gives us the tab indentation we want
4401 2004-08-18 12:06 davidfraser
4403 * tools/oosetupmerge: added code to localize module text (name,
4406 2004-08-18 11:59 davidfraser
4408 * tools/oosetupmerge: added code to insert HelpText Text(nn)
4409 entries for each language - so installation Help is now localized
4410 use one suffix variable per index instead of recalculating it
4411 everywhere we can :-) to support inserting fields into sections,
4412 added end of variables to tokennums index added methods to
4413 renamefield, getfieldtokenrange, insertforeignvalue (just puts
4414 index tokenrange in before end of section)
4416 2004-08-17 11:46 davidfraser
4418 * tools/ooo_languageselector.png: added icon for ooo language
4421 2004-08-17 11:43 davidfraser
4423 * tools/oosetupmerge: allowed adding a file to zip without
4424 specifying contents (otherwise file was removed) fixed file size,
4425 date and time for zip changes check posix by looking at name of
4426 setup file, not os.name (we pack on linux anyway)
4428 2004-08-17 11:37 davidfraser
4430 * tools/ooswitchlang: added expat import to prevent problem in
4431 singlefile version added code to look in directory program is
4432 installed in in case not run from there
4434 2004-08-17 09:38 davidfraser
4436 * tools/oosetupmerge: added setuplaunchscript, code to create it
4437 for posix installers initialize members in constructor rather
4438 than from mergefiles... moved desktop entries code into method
4439 adddesktopentries copy desktop files before generating
4440 mainsetupfile (this is because we will need to change file
4443 2004-08-17 09:21 davidfraser
4445 * tools/oosetupmerge: added TODO about HelpText
4447 2004-08-17 09:07 davidfraser
4449 * tools/oosetupmerge: added code to add desktop / menu items with
4450 icons for kde and gnome (and gnome2) this required entries to
4451 access zip files the desktop entries are hardcoded and the icons
4452 are generated from icons/ooo_languageselector.png under the
4455 2004-08-16 13:35 davidfraser
4457 * tools/oosetupmerge: recursively rename a directory's child
4458 directories... this should fix templates not being included
4460 2004-08-15 16:54 davidfraser
4462 * tools/ooswitchlang: check if there are any valid oo versions if
4463 not, display a message and switch to advanced mode
4465 2004-08-15 16:31 davidfraser
4467 * tools/ooswitchlang: moved xmlwrapper import to prevent expat
4470 2004-08-13 19:13 davidfraser
4472 * convert/oo2po: added TODOs
4474 2004-08-12 11:42 davidfraser
4476 * tools/ooswitchlang: improved tooltip for adminchoice
4478 2004-08-12 11:38 davidfraser
4480 * tools/ooswitchlang: changed adminchoice to be a drop down box.
4481 moved above language selector added function getadminmode to work
4484 2004-08-12 11:29 davidfraser
4486 * tools/ooswitchlang: make sure we return after finding the current
4487 directory, otherwise manual selection happens anyway...
4489 2004-08-12 11:24 davidfraser
4491 * tools/ooswitchlang: added lots of error handling and intelligence
4492 so user gets reasonable messages if language cannot be found /
4493 set if registered version directory does not exist, ignore it
4494 (with a verbose log message) rather than showing message factored
4495 out finding directory in version names into separate function
4496 findregisteredversion try to look up if manually entered
4497 directory is one of registered versions
4499 2004-08-11 18:38 davidfraser
4501 * convert/po2html: added simple po2html
4503 2004-08-11 11:27 davidfraser
4505 * tools/oosetupmerge: added a shortisocode member for matching just
4506 language (e.g. en-US -> en) check hostnames to rename on every
4507 index, not just self. also check shortisocode
4509 2004-08-11 10:54 davidfraser
4511 * tools/ooswitchlang: Sipedi is actually Sepedi - but have adopted
4512 "Sesotho sa Leboa" - "Northern Sotho" as better term
4514 2004-08-10 15:23 davidfraser
4516 * tools/ooswitchlang.ico: add oo switchlang icon
4518 2004-08-10 15:12 davidfraser
4520 * misc/xmlwrapper.py: import expat to prevent conflicts with wx
4522 2004-08-10 15:05 davidfraser
4524 * tools/ooswitchlang: changed error dialog titles
4526 2004-08-10 15:04 davidfraser
4528 * tools/ooswitchlang: added more info about needing to restart,
4531 2004-08-10 14:56 davidfraser
4533 * tools/ooswitchlang: Added lots of tooltips
4535 2004-08-10 14:40 davidfraser
4537 * tools/ooswitchlang: changed language names to be in that
4538 language. added TODO to handle languages better changed cmdline
4539 to quote the binary name (otherwise on Windows it fails if in
4542 2004-08-10 14:26 davidfraser
4544 * tools/oosetupmerge: added code to create shortcuts for windows
4545 start menu added link to switch lang program
4547 2004-08-10 12:00 davidfraser
4549 * tools/oosetupmerge: copy all the license, readme,
4550 thirdpartlicense etc files into the dest directory with -nn in
4551 their names (even do this for the main setup file as otherwise
4552 people will wonder what it is...)
4554 2004-08-10 11:42 davidfraser
4556 * tools/oosetupmerge: added function islocalizefile, which now
4557 detects not only resource files but also README and LICENSE files
4559 2004-08-10 09:15 davidfraser
4561 * convert/po2dtd.py: added note on \n characters
4563 2004-08-10 09:12 davidfraser
4565 * convert/po2oo: putting in extra \ns was coming out in the oo
4566 files, this is leftover stuff from mozilla, don't add any...
4568 2004-08-06 14:21 davidfraser
4570 * tools/ooswitchlang: added docstrings, comments
4572 2004-08-06 14:18 davidfraser
4574 * tools/ooswitchlang: made forcing the default tried to improve
4577 2004-08-06 14:08 davidfraser
4579 * tools/ooswitchlang: added AutoSize method so we don't have to set
4580 the size manually also it works when switching modes... note we
4581 use SetClientSize otherwise it is too small on Windows...
4583 2004-08-06 13:49 davidfraser
4585 * tools/ooswitchlang: construct dirsizer in arrangeoptioncontrols
4586 each time (otherwise segfaults. Clearing a BoxSizer destroys it)
4587 Switch the advanced button label depending on self.advancedmode
4589 2004-08-06 13:38 davidfraser
4591 * tools/ooswitchlang: added button to switch between simple and
4592 advanced modes, made it work took optionssizer construction out
4593 of arrangeoptioncontrols moved initial arrangeoptioncontrols call
4594 to later in constructor
4596 2004-08-06 13:25 davidfraser
4598 * tools/ooswitchlang: rearranged creation and arranging of option
4599 controls into functions... makes it much easier to read, and
4600 will be able to switch modes hopefully...
4602 2004-08-06 13:19 davidfraser
4604 * tools/ooswitchlang: started adding code to do simple / advanced
4605 modes for the GUI... added docstring and commandline option
4606 parsing added option for starting in advanced mode
4608 2004-08-05 19:18 davidfraser
4610 * tools/oosetupmerge: needs to be quoted empty string :-)
4612 2004-08-05 18:42 davidfraser
4614 * tools/ooswitchlang: forget the xmlwrapper stuff :-) added
4617 2004-08-05 18:38 davidfraser
4619 * tools/oosetupmerge: some files don't have a PackedName (they are
4620 usually just being deleted so it doesn't matter, just leave
4623 2004-08-05 17:35 davidfraser
4625 * convert/po2txt: added basic text wrapping
4627 2004-08-05 17:24 davidfraser
4629 * storage/properties.py: don't decode unicode in comments
4631 2004-08-05 17:19 davidfraser
4633 * misc/xmlwrapper.py: make life simpler by using
4634 ElementTree.XMLTreeBuilder (the XMLTreeBuilder module is just a
4635 backwards-compatibility wrapper)
4637 2004-08-05 17:10 davidfraser
4639 * misc/quote.py: show the digits causing the problem...
4641 2004-08-05 17:05 davidfraser
4643 * convert/po2txt, storage/po.py: made including escapes optional in
4644 po.getunquotedstr don't include escapes for text files...
4646 2004-08-05 16:41 davidfraser
4648 * convert/po2oo: added requirement for languagecode (otherwise we
4649 produce bad target files...)
4651 2004-08-05 16:35 davidfraser
4653 * convert/: po2txt, txt2po: created simple po2txt
4655 2004-08-05 12:33 davidfraser
4657 * tools/ooswitchlang: try import xmlwrapper from the current
4658 directory if import fails...
4660 2004-08-05 12:11 davidfraser
4662 * tools/oosetupmerge: add -j option to zip so it doesn't include
4663 the pathname added option --switchlang rather than including
4664 ooswitchlang.exe if it is there
4666 2004-08-05 11:33 davidfraser
4668 * tools/oosetupmerge: added offset param to makepackedname in case
4669 more than one is needed removed direntry parameter for
4670 addmanualfile as it can be deduced from baseentry zip generates
4671 .zip files so rename them...
4673 2004-08-05 11:22 davidfraser
4675 * tools/oosetupmerge: added self.manualfiles so any files added
4676 manually are automatically zipped into the right destination
4677 (currently using cmdline) added call to addfiletomodule so files
4678 added manually are also listed in the modulename to be installed
4679 added function makepackedname for when we need a new packedname
4680 added default value option to getfieldvalue, rather than getting
4681 errors added call to add ooswitchlang.exe to setup if it exists
4683 2004-08-05 10:56 davidfraser
4685 * tools/oosetupmerge: use isocodes for directory names rather than
4686 using HostName (which could be full lang name) this means all the
4687 f* files have now got shorter names
4689 2004-08-05 10:49 davidfraser
4691 * tools/oosetupmerge: refactored addfiletomodule to use a dummy
4692 setup file rather than searching for commas... this means we
4693 don't have to leave out some files because we couldn't find the
4694 commas also we don't require the index (which will make it easier
4695 to add manual files)
4697 2004-08-05 10:13 davidfraser
4699 * tools/oosetupmerge: factored out addfiletomodule from
4700 addforeignfile rename aftersection parameter of addmanualfile to
4703 2004-08-05 09:59 davidfraser
4705 * tools/oosetupmerge: added addmanualfile method (adds a new
4706 section describing a file off disk) - to be used for adding gui
4707 switchlang executable split off parsing code into base class
4708 SetupParser this allows us to create a little SetupParser to
4709 describe manual additions corrected dir arguments (one-off error
4710 from sys.argv->optparser change)
4712 2004-08-05 09:09 davidfraser
4714 * tools/ooswitchlang: changed setlanguage to take admin and force
4715 as parameters setlanguage now displays errors and offers to force
4716 only quit if setlanguage successful
4718 2004-08-05 08:59 davidfraser
4720 * tools/ooswitchlang: Added Tswana Enlarged window
4722 2004-08-05 08:50 davidfraser
4724 * tools/oosetupmerge: improved doc string use optparse for option
4725 parsing added version info
4727 2004-08-05 08:33 davidfraser
4729 * tools/oosetupmerge: use directory names rather than setup files
4730 as arguments copy other needed files (non-f*, non-setup.in[sf])
4732 2004-08-04 12:08 davidfraser
4734 * tools/ooswitchlang: added browse button for selecting install dir
4735 tried to improve sizing...
4737 2004-08-04 11:39 davidfraser
4739 * tools/ooswitchlang: added instructions for building exe...
4741 2004-08-04 10:22 davidfraser
4743 * tools/ooswitchlang: add box for install directory include
4744 "(other)" for manually chosen directory...
4746 2004-08-04 10:21 davidfraser
4748 * tools/oosetupmerge: try import on sparse and import directly if
4749 not in translate.misc - to allow standalone oosetupmerge also add
4750 basic commandline help...
4752 2004-08-02 22:02 dwaynebailey
4754 * tools/TODO: Ideas for: - podiff - glossary creator
4756 2004-08-02 22:01 dwaynebailey
4758 * misc/: optrecurse.py, progressbar.py: Improved naming of progress
4761 2004-08-02 21:57 dwaynebailey
4763 * convert/: convert.py, html2po, moz2po, txt2po: Improved usage
4766 2004-08-02 21:34 dwaynebailey
4768 * convert/oo2po: Improved purpose message
4770 2004-07-30 14:09 davidfraser
4772 * tools/ooswitchlang: fix up errors on windows - file:///x:/ ends
4773 up with an initial \\x:\\ in the path os.path.samefile not
4774 available on windows, just use equality
4776 2004-07-30 13:21 davidfraser
4778 * tools/ooswitchlang: added code to handle multiple versions
4779 installed, use .sversionrc or sversion.ini to find versions use
4780 current directory or parent directory as well
4782 2004-07-29 13:44 davidfraser
4784 * tools/ooswitchlang: call setofficelang directly (simpler) added
4785 ability to force it added size for window
4787 2004-07-29 13:38 davidfraser
4789 * tools/ooswitchlang: added begin/end busy cursors so people know
4790 we're trying to set the language...
4792 2004-07-29 13:30 davidfraser
4794 * tools/ooswitchlang: added check box to select whether to set the
4795 admin language or not update the current language when the admin
4796 check box is changed redid the sizing so that it works well for
4797 more than one option
4799 2004-07-29 13:16 davidfraser
4801 * tools/ooswitchlang: simplified wx sizing
4803 2004-07-29 12:51 davidfraser
4805 * tools/ooswitchlang: added code to call setofficelang with
4806 available options and deal with the return code this is better
4807 than changing xml files ourselves... added function to get/set
4810 2004-07-29 12:36 davidfraser
4812 * tools/ooswitchlang: added a higher level to manage user / admin
4813 settings (will use setofficelang.bin as well...)
4815 2004-07-29 12:28 davidfraser
4817 * tools/ooswitchlang: added tool for switching oo installation
4818 language (in progress)
4820 2004-07-28 15:26 davidfraser
4822 * storage/xpi.py: combine iterjarcontents into initdirmap (so later
4823 we can intelligently handle the jar names...)
4825 2004-07-28 12:08 davidfraser
4827 * misc/xmlwrapper.py: added makefixtagproc which can be used to set
4828 specific names for namespaces when rewriting file (by replacing
4829 ElementTree.fixtag) also added some excludetags capability to
4830 ignore certain plaintext/children...
4832 2004-07-22 13:03 davidfraser
4834 * convert/sxw2po: added special code to exclude change tracking
4835 stuff from the sxw file
4837 2004-07-22 12:43 davidfraser
4839 * convert/sxw2po: added sxw2po
4841 2004-07-22 12:38 davidfraser
4843 * convert/: html2po, txt2po: fixed UTF8 -> UTF-8 (official name
4846 2004-07-22 12:37 davidfraser
4848 * misc/xmlwrapper.py: added xml wrapper
4850 2004-07-16 22:11 davidfraser
4852 * tools/oosetupmerge: exclude non-alpha isocodes from
4855 2004-07-16 15:27 davidfraser
4857 * tools/oosetupmerge: added keymunging so en-US gets changed to
4858 en_US also removed extra _ before suffix
4860 2004-07-16 14:28 davidfraser
4862 * tools/oosetupmerge: disable updating the Languages field as
4863 support for language names in the setup selection list is
4866 2004-07-16 13:29 davidfraser
4868 * tools/oosetupmerge: set the list of installed languages manually
4869 (rather than using default template system that doesn't work)
4871 2004-07-16 13:08 davidfraser
4873 * tools/oosetupmerge: added code to merge config items ... this
4874 fixes for example New->Text Document always being in the same
4877 2004-07-16 12:46 davidfraser
4879 * tools/: oosetup, oosetupmerge: renamed oosetup to oosetupmerge
4881 2004-07-16 12:38 davidfraser
4883 * tools/oosetup: minor change that will make changing the
4884 packedname easier...
4886 2004-07-14 17:48 davidfraser
4888 * storage/xpi.py: converted commonprefix code to make a more
4889 intelligent map based on locale directories... locale/nn-NN gets
4890 mapped to lang-reg locale/NN gets mapped to reg also changed
4891 directory creation so we don't create unneccessary directories
4892 like this added a showprefix option which currently lists the
4893 maps determined (for debugging)
4895 2004-07-09 16:34 dwaynebailey
4897 * filters/TODO: Adding HTML and email checker todo item
4899 2004-07-09 15:51 davidfraser
4901 * storage/dtd.py: removed <!ENTITY xxx > definitions that have been
4902 commented out (will only work with single line definitions...)
4904 2004-07-09 15:50 davidfraser
4906 * misc/quote.py: make stripcomment handle half-comments more
4907 intelligently (if comment is split over lines) in
4908 extractwithoutquotes, be careful if laststartinextracted is still
4909 None... this produced a memory grabbing frenzy from psyco (as
4912 2004-07-09 15:13 dwaynebailey
4914 * filters/TODO: Wihslist XML/HTML checks
4916 2004-07-09 14:30 davidfraser
4918 * filters/decoration.py: factored out isvalidaccelerator...
4920 2004-07-09 14:26 davidfraser
4922 * filters/pofilter: made listfilters work even though input is not
4923 given (had to use a callback to do this...)
4925 2004-07-09 12:09 davidfraser
4927 * misc/optrecurse.py: improved psyco importing logic, added
4928 excluded function encodings.search_function
4930 2004-07-09 11:54 davidfraser
4932 * convert/po2moz: added fix for non-recursive templates (single
4935 2004-07-08 17:03 davidfraser
4937 * storage/xpi.py: added compression to XPI files by default...
4939 2004-07-08 16:10 davidfraser
4941 * convert/convert.py, filters/pofilter, filters/pogrep: added
4942 usepsyco option to run methods where neccessary...
4944 2004-07-08 16:07 davidfraser
4946 * misc/optrecurse.py: added options to use psyco for speedup.
4947 print a warning message if its asked for but not available can be
4948 set to none/full/profile
4950 2004-07-08 15:36 davidfraser
4952 * convert/po2moz: added message about writing xpi file as it can
4953 take a while more intelligence about single file / stdout output
4955 2004-07-08 15:31 davidfraser
4957 * convert/convert.py: don't close copied files if the output is to
4960 2004-07-08 15:20 davidfraser
4962 * misc/zipfileext.py: removed unneccessary flush from writeendrec
4964 2004-07-08 14:47 davidfraser
4966 * misc/wStringIO.py: only update the length after writing if we've
4967 written over the end of the file
4969 2004-07-08 13:01 davidfraser
4971 * misc/optrecurse.py: added requireemnt to use - for stdin input
4972 instead of leaving it out this lets us give a more helpful error
4973 message if no options given at start...
4975 2004-07-07 18:10 davidfraser
4977 * convert/dtd2po.py: added TODO to remind us about losing
4980 2004-07-07 18:05 davidfraser
4982 * convert/dtd2po.py: modified to exclude blank elements...
4984 2004-07-07 17:40 davidfraser
4986 * tools/detectencoding: changed default output to utf-8
4988 2004-07-07 17:39 davidfraser
4990 * convert/oo2po: changed to utf-8 for output. this actually
4991 reflects what we were doing anyway...
4993 2004-07-07 17:28 davidfraser
4995 * convert/: html2po, prop2po.py, txt2po: removed unneccessary pot
4998 2004-07-07 17:20 davidfraser
5000 * convert/: dtd2po.py, html2po, prop2po.py, txt2po: make pot file
5001 headers say charset=utf8 (and make sure encoding is 8bit too)
5002 otherwise gettext tools etc will complain about non-ASCII
5005 2004-07-07 17:08 davidfraser
5007 * storage/properties.py: escape control characters in comments...
5009 2004-07-07 17:07 davidfraser
5011 * misc/quote.py: separated out propertyescapes (renamed from
5012 escapes) and controlchars dicts from mozillapropertiesdecode
5013 added an escapecontrols method
5015 2004-07-07 15:17 davidfraser
5017 * convert/po2prop.py: handle the new escaping produced by prop2po -
5018 we want \n to come through normally, but not \quotes or \\u...
5020 2004-07-07 15:09 davidfraser
5022 * convert/prop2po.py: changed method of escaping strings for po
5025 2004-07-07 14:51 davidfraser
5027 * misc/quote.py: mozilla properties stufF: don't convert control
5028 characters to full representation (po converter can do that where
5029 it wants) added controlchars dict to make looking up controlchars
5030 easier (currently they all map to themselves but this could be
5033 2004-07-07 12:51 davidfraser
5035 * misc/sparse.py: added suport for having a different closing quote
5036 to starting quote character
5038 2004-07-07 12:38 davidfraser
5040 * misc/quote.py: keep all the control characters escaped
5042 2004-07-07 12:29 davidfraser
5044 * storage/properties.py: strip eols from comments and put a
5047 2004-07-05 17:07 davidfraser
5049 * tools/oosetup: added dialing code as an attribute added resource
5052 2004-07-05 16:30 davidfraser
5054 * tools/oosetup: set languagename and isocode as attributes...
5055 work out which directories should be renamed based on HostName,
5058 2004-07-05 16:04 davidfraser
5060 * tools/oosetup: found the cause for missing files, trouble
5061 locating packedsection: was using straight copy for sections,
5062 so the tokennums child dictionary was having values overwritten.
5063 fixed by using deepcopy. removed unneccessary error handling...
5064 simplified printout to only print changed file names
5066 2004-07-05 14:57 davidfraser
5068 * tools/oosetup: added directory entry copying (otherwise files
5069 didn't have the corresponding directory section, giving script
5072 2004-07-05 13:43 davidfraser
5074 * tools/oosetup: refactored adding a foreign file into a method
5075 some pychecker cleanups...
5077 2004-07-05 13:37 davidfraser
5079 * tools/oosetup: added code to modify the lists of files in Modules
5080 to add new files... changed printout to make it less verbose for
5083 2004-07-02 22:53 davidfraser
5085 * tools/oosetup: added code to copy files to a destination
5086 directory, renaming as neccessary some problems with finding the
5087 PackedName need to be fixed
5089 2004-07-02 22:10 davidfraser
5091 * tools/oosetup: added files from other indexes into main file,
5092 rename all relevant files changed token finding to handle token
5093 changes improved tokenrange work took out demo of foreign stuff
5094 as its being used now
5096 2004-07-02 19:25 davidfraser
5098 * tools/oosetup: refactored parsing of section into separate
5099 function remember tokennums relative to start (renamed from
5100 type) remember end tokennum relative to start modified
5101 getsource to allow start and end token numbers added method
5102 insertforeignsection to allow copying sections from another index
5103 modified getsource to add in inserted sections (using
5104 foreignindex.getsource) added code to remember which files belong
5105 in which directory added a simple demo of insertforeignsection
5108 2004-07-02 18:26 davidfraser
5110 * tools/oosetup: redid parsing to handle newline, nesting, ; etc
5111 correctly added initial code to merge setup files, do renaming of
5114 2004-07-02 16:50 davidfraser
5116 * tools/oosetup: added tool for dealing with openoffice
5117 setup.ins/inf scripts
5119 2004-07-01 20:42 dwaynebailey
5121 * tools/TODO: Add TODO items
5123 2004-07-01 17:31 davidfraser
5125 * convert/txt2po: improved logic so blank lines don't end up at
5128 2004-07-01 12:49 davidfraser
5130 * convert/txt2po: made txt2po do blocks instead of lines
5132 2004-06-30 22:44 davidfraser
5134 * misc/optrecurse.py: don't try and remove stdout!
5136 2004-06-30 22:35 davidfraser
5138 * filters/checks.py: added missing comma (made endwhitespace and
5139 startpunc not have precondition)
5141 2004-06-30 22:25 davidfraser
5143 * filters/checks.py: added ${ } variable matcher for openoffice
5145 2004-06-30 14:50 davidfraser
5147 * filters/checks.py: should call funcmatch, not funcsmatch, when
5148 passing a single function
5150 2004-06-30 14:45 davidfraser
5152 * filters/prefilters.py: changed to use new expanded tokenize
5153 function so parser.source gets set correctly
5155 2004-06-30 14:34 davidfraser
5157 * misc/sparse.py: added option to give tokenizers to tokenize (so
5158 self.source gets set)
5160 2004-06-29 21:13 davidfraser
5162 * filters/prefilters.py: fixed old-style findtokenpos call
5164 2004-06-29 16:32 davidfraser
5166 * filters/TODO: need to use unicode strings otherwise we can split
5167 up multibyte characters in checks...
5169 2004-06-29 16:18 dwaynebailey
5171 * tools/pocount: Untranslated words was incorrectly counting the
5172 msgstr instead of the msgid
5174 2004-06-29 16:16 dwaynebailey
5176 * tools/TODO: Need to be able to merge fuzzy status back to mack
5177 strings fuzzy or to unset fuzzy status
5179 2004-06-29 15:29 dwaynebailey
5181 * convert/TODO: Adding to TODO need for csv2po to have a charset
5182 option to set po header charset.
5184 2004-06-29 14:29 davidfraser
5186 * convert/html2po: initial html2po
5188 2004-06-29 13:54 davidfraser
5190 * convert/txt2po: added txt2po tool
5192 2004-06-29 11:37 davidfraser
5194 * filters/TODO: accelerators are done
5196 2004-06-29 11:16 davidfraser
5198 * filters/checks.py: renamed self.accelerators to self.accelmarkers
5199 to prevent it from hiding the accelerators check method
5201 2004-06-25 17:40 davidfraser
5203 * storage/csvl10n.py: limited quotechars to " (no ' in files from
5204 translators) added intelligence to patch together partial quoting
5205 (probably not neccessary)
5207 2004-06-25 17:37 davidfraser
5209 * convert/csv2po, filters/prefilters.py: updated to new sparse API
5211 2004-06-25 17:36 davidfraser
5213 * misc/sparse.py: updated to a new object-based API all functions
5214 available inside new StringParser object requires changes to any
5217 2004-06-24 15:42 davidfraser
5219 * storage/csvl10n.py: added SimpleDictReader which unlike the csv
5220 module doesn't have problems with newlines
5222 2004-06-23 14:17 davidfraser
5224 * misc/csv.py: updated to handle keyword arguments
5226 2004-06-16 19:05 dwaynebailey
5228 * filters/TODO: Check for accelerators
5230 2004-06-09 18:45 davidfraser
5232 * ChangeLog: changed to standard cvs2cl ChangeLog so I don't have
5235 2004-06-09 18:14 davidfraser
5237 * __version__.py: version 0.8 beta 2
5239 2004-06-09 18:13 davidfraser
5241 * filters/pofilter, storage/po.py: added a switch to getunquotedstr
5242 for linebreak inclusion, turn it off for pofilter (still unclear
5243 as to long-term strategy:-) )
5245 2004-06-09 17:55 davidfraser
5247 * convert/po2dtd.py, misc/quote.py: remove all leftover doencode
5250 2004-06-09 17:49 davidfraser
5252 * misc/optrecurse.py: added more sensible error handling for
5253 missing output directories - try create the directory, report an
5256 2004-06-09 17:38 davidfraser
5258 * convert/TODO: encodings are now utf8 which is better...
5259 properties encodings have been converted as well
5261 2004-06-09 17:36 davidfraser
5263 * convert/moz2po: include non-jar files in extraction for moz2po
5264 ... otherwise we miss install.js
5266 2004-06-09 17:02 davidfraser
5268 * filters/checks.py: added long, split whitespace into start/end
5270 2004-06-09 16:55 davidfraser
5272 * convert/convert.py: get optparse from the optrecurse namespace
5273 (also others can access it here)
5275 2004-06-09 16:42 davidfraser
5277 * misc/quote.py: added implementation for \N{name} unicode escaping
5280 2004-06-09 16:17 davidfraser
5282 * misc/quote.py: only keep \t and \n when decoding mozilla
5285 2004-06-09 15:04 davidfraser
5287 * misc/quote.py: rewrote mozillapropertiesdecode based on the C
5288 unicode-escape source this lets us change some of the behaviour
5289 (e.g. how we handle control characters)
5291 2004-06-09 11:06 davidfraser
5293 * filters/checks.py: added doublespacing and puncspacing checks...
5295 2004-06-09 11:01 davidfraser
5297 * filters/helpers.py: use operator.and_ instead of int.__and__ to
5298 and a whole lot of expressions together
5300 2004-06-09 10:41 davidfraser
5302 * filters/decoration.py: don't tread periods that don't have
5303 following digits as part of the number added TODO for
5304 locale-specific delimiters (2,5 for Afrikaans)
5306 2004-06-09 10:31 davidfraser
5308 * misc/optrecurse.py: show progress regardless of success
5310 2004-06-08 17:17 davidfraser
5312 * filters/TODO: preconditions are there now...
5314 2004-06-08 17:03 davidfraser
5316 * filters/checks.py: added ability to have preconditions - don't do
5317 most checks if untraslated...
5319 2004-06-08 16:44 davidfraser
5321 * filters/: checks.py, pofilter: moved all the arguments,
5322 construction of list of filters into pocheckfilter constructor
5323 general refactoring to try do as much as possible once only
5325 2004-06-08 16:13 davidfraser
5327 * tools/pomerge: .msg.I15348
5329 2004-06-08 16:08 davidfraser
5331 * convert/: csv2po, dtd2po.py, moz2po, oo2po, po2csv, po2dtd.py,
5332 po2moz, po2oo, po2prop.py, poreplace.py, prop2po.py: modified all
5333 the scripts to work with new convert parameters based on
5334 translate.misc.optrecurse
5336 2004-06-08 16:07 davidfraser
5338 * filters/: pofilter, pogrep: redid btis of pofilter and pogrep to
5339 work with new translate.misc.optrecurse (filtercmd is gone... bye
5342 2004-06-08 16:01 davidfraser
5344 * tools/detectencoding: minor fixups for when no matches are
5347 2004-06-08 15:56 davidfraser
5349 * misc/optrecurse.py, convert/convert.py, filters/filtercmd.py:
5350 refactored common code out of convert/convert.py and
5351 filter/filtercmd.py into misc/optrecurse.py this now handles
5352 everything cleanly. filter/filtercmd is no longer neccessary, has
5353 been removed some specialisation and parameters have also
5354 changed, and will affect other files... recursiveoptions /
5355 convertparameters have been renamed to self.passthrough all the
5356 convert parameter/method names have changed to process there is
5357 a new simpler run method which parses the args and passes them to
5360 2004-05-28 15:48 davidfraser
5362 * tools/pomerge: added mergeblanks option refactored option
5363 checking into str2bool removed unneccessary default options
5365 2004-05-28 15:42 davidfraser
5367 * tools/pomerge: added option to control merging comments
5369 2004-05-28 15:10 dwaynebailey
5371 * tools/pocount: Changed wording on output slightly to make it
5372 clear that fuzzies wordcount is for the original message
5374 2004-05-28 15:00 davidfraser
5376 * tools/pocount: redid counting to count everything on elements
5377 rather than counting first and summarizing later makes it a bit
5378 slower but better... also added code to count fuzzy strings /
5381 2004-05-25 18:37 davidfraser
5383 * storage/properties.py: use new quote function to decode
5385 2004-05-25 17:31 davidfraser
5387 * misc/quote.py: added a mozillapropertiesdecode function which
5388 does unicode-escape but doesn't transform \\n
5390 2004-05-25 16:43 davidfraser
5392 * storage/po.py: added option whether to merge comments or not in
5393 merge make sure that a blank string with a msgid_comment works
5396 2004-05-25 16:41 davidfraser
5398 * convert/dtd2po.py: only convert elements with valid entities...
5400 2004-05-25 15:38 davidfraser
5402 * tools/pomerge: added docstring to help
5404 2004-05-25 15:31 davidfraser
5406 * convert/dtd2po.py: added comment if field looks like a
5407 height/width/size field, to help translators changed blank
5408 comment to not have \n at end...
5410 2004-05-25 15:07 davidfraser
5412 * convert/convert.py: if there is an error in conversion, give a
5413 warning with the names of the files before raising it made
5414 warning always start on newline by adding \n at beginning
5416 2004-05-25 12:10 davidfraser
5418 * convert/: convert.py, csv2po, dtd2po.py, moz2po, oo2po, po2csv,
5419 po2dtd.py, po2moz, po2oo, po2prop.py, prop2po.py: added
5420 descriptions for command line help using doc strings
5422 2004-05-25 11:42 davidfraser
5424 * README: added a link to the docs page
5426 2004-05-25 11:15 davidfraser
5428 * convert/: po2dtd.py, po2moz, po2prop.py: removed all checking
5429 code as this is now done in the filters area, not when converting
5431 2004-05-21 19:15 davidfraser
5433 * ChangeLog: added changelog for 0.8b1
5435 2004-05-21 19:00 davidfraser
5437 * convert/po2prop.py: .msg.wC8765
5439 2004-05-21 18:58 davidfraser
5441 * __version__.py: version 0.8 beta 1
5443 2004-05-21 18:49 davidfraser
5445 * misc/quote.py: removed escapeunicode and unescapeunicode
5447 2004-05-21 18:49 davidfraser
5449 * convert/: po2prop.py, prop2po.py: removed
5450 escapeunicode/unescapeunicode changed lineending encoding in
5451 po2prop handle multiple lines in prop2po
5453 2004-05-21 18:19 davidfraser
5455 * convert/: dtd2po.py, po2dtd.py, po2moz, po2prop.py, prop2po.py:
5456 added option to po2dtd and po2moz to not run entity and size
5457 checks fixed filename display for checks changed all leftover
5458 ConvertOptionParserExt to ConvertOptionParser
5460 2004-05-21 18:01 davidfraser
5462 * convert/: dtd2po.py, prop2po.py: set charset, encoding in po
5463 output if not a pot file
5465 2004-05-21 17:59 davidfraser
5467 * storage/po.py: added a utf8encode method, encode all unicode
5470 2004-05-21 17:53 davidfraser
5472 * convert/po2prop.py: do proper mozilla-properties encoding on
5473 po2prop output (for \unnnn strings) fix reference to old
5476 2004-05-21 17:51 davidfraser
5478 * storage/properties.py: un-escape unicode-escaped \unnnn strings
5479 on input, re-escape them on output
5481 2004-05-21 17:50 davidfraser
5483 * misc/quote.py: added function to encode a string for a mozilla
5484 (java-style) properties file (we can decode with "unicode-escape"
5485 encoding, but encoding with this gives \xnn instead of \unnnn)
5487 2004-05-21 11:56 davidfraser
5489 * misc/wStringIO.py: fixed basestring (python2.3 only) -> (str,
5490 unicode) (works on python2.2)
5492 2004-05-21 11:48 davidfraser
5494 * storage/dtd.py: fixed creation of blank entities for blank lines
5495 at end of file set entity to None initially, detect this with
5496 isnull added comments to dtdelement class
5498 2004-05-21 11:24 davidfraser
5500 * convert/convert.py: refactored po/pot selection algorithm added a
5501 helper function "potifyformat" to deal with both .po and .xxx.po
5502 (for mozilla) instead of using self.inputformats,
5503 self.outputoptions, added functions filterinputformats and
5504 filteroutputoptions these use options.pot to rename formats as
5505 required the results are stored in options.inputformats,
5506 options.outputoptions which are then used to determine names
5507 instead of self.inputformats, self.outputoptions also changed
5508 getformathelp so it doesn't actually modify the format
5511 2004-05-20 20:22 dwaynebailey
5513 * convert/dtd2po.py: For msgid's that are blank a correct KDE style
5514 translator comment must end with a literal \n followed by \n ir
5517 2004-05-19 13:37 davidfraser
5519 * convert/po2oo: made languagecode a convertparameter so it gets
5522 2004-05-14 16:27 davidfraser
5524 * filters/checks.py: removed unneccessary sparse import
5526 2004-05-11 17:56 davidfraser
5528 * storage/xpi.py: changed to use wStringIO wrapper for cStringIO
5530 2004-05-11 17:52 davidfraser
5532 * misc/wStringIO.py: added wrapper for cStringIO so we can speed up
5535 2004-05-11 17:35 davidfraser
5537 * misc/zipfileext.py: don't need to write the endrec after a delete
5540 2004-05-11 16:47 davidfraser
5542 * storage/xpi.py: use zipfileext enhancements to overwrite files
5543 inside zip files (removed TODO) use fix to StringIO to make sure
5544 truncate works for jar files stored in a StringIO... only
5545 rewrite jar files if they've been changed... but catch their new
5546 value if they have test included jar files when testing the zip
5548 2004-05-11 16:41 davidfraser
5550 * misc/zipfileext.py: added zipfileext which contains code to
5551 delete files in zipfiles, replace them, etc
5553 2004-05-11 11:59 davidfraser
5555 * storage/xpi.py: added spacing between functions
5557 2004-05-10 18:57 davidfraser
5559 * convert/po2moz: if you don't close the outputxpi you never get
5560 the output... this now actually produces an xpi with
5561 translations the paths still need to be fixed up though...
5563 2004-05-10 18:50 davidfraser
5565 * convert/: convert.py, po2moz: tried to add more intelligence to
5566 close files and not use temp files in po2moz (but use StringIO
5567 rather than stdout for misplaced files)
5569 2004-05-10 18:38 davidfraser
5571 * convert/: Makefile, TODO, convert.py, moz2po, po2moz: added
5572 ability to write xpi files from po2moz (not complete) major
5573 changes to po2moz to support this use recurseconversion to read
5574 in the files rather than recurseinputfiles added xpi file
5575 creation... renamed checksubdir in convert to checkoutputsubdir,
5576 pass options instead of options.output made gettemplatename
5577 handle inputname=None (for stdin) etc handle IndexErrors when
5578 trying to map paths to xpi file added test for po2moz writing
5579 .xpi changed TODO - can now handle non-dtd/properties files
5581 2004-05-10 17:44 davidfraser
5583 * convert/: Makefile, convert.py, moz2po, po2moz: added ability to
5584 handle wildcards in convert for extensions ("*" matches anything)
5585 added ability to po2moz, moz2po to handle non-dtd, non-properties
5586 files by copying them added ability to po2moz to handle xpi files
5587 for templates - po2moz now has a MozConvertOptionParser like
5588 moz2po does, but it does some different stuff renamed methods
5589 recursefiles to recurseinputfiles, etc in convert made convert
5590 methods return lists instead of yielding generators added
5591 copyinput, copytemplate methods to convert that can be used to
5594 2004-05-10 17:34 davidfraser
5596 * convert/po2prop.py: changed xreadlines to readlines so it can
5597 work on StringIO from xpi
5599 2004-05-10 16:31 davidfraser
5601 * convert/moz2po: moved inputxpi, templatexpi generation to
5602 recursefiles started updating to name files dtd.po, properties.po
5603 instaed of plain .po
5605 2004-05-10 16:28 davidfraser
5607 * convert/convert.py: made splitinputext, splittemplateext methods
5608 to split the extension and replace the .
5610 2004-05-10 16:19 davidfraser
5612 * storage/po.py: added an overwrite parameter to merge that allows
5613 overwriting existing msgstr...
5615 2004-05-10 16:18 davidfraser
5617 * tools/pomerge: overwrite msgstr in target regardless...
5619 2004-05-10 15:50 dwaynebailey
5621 * filters/: checks.py, pofilter: Add --kde to handle KDE specific
5622 accelerators and variables
5624 2004-05-10 15:49 dwaynebailey
5626 * convert/TODO: Add .properties UTF<->escaped unicode to wish list
5628 2004-05-10 15:20 davidfraser
5630 * convert/: moz2po, convert.py: removed unneccessary imports of
5631 optparse from moz2po also added warning method to convert so
5632 import sys in moz2po is unneccessary
5634 2004-05-07 17:15 davidfraser
5636 * convert/TODO: added some more TODOs
5638 2004-05-07 16:54 davidfraser
5640 * convert/Makefile: added missing test from moz2po suite
5642 2004-05-07 16:54 davidfraser
5644 * tools/pomerge: converted podiff and pomerge to use new output
5645 syntax (and handle any combinatino of po, pot)
5647 2004-05-07 16:52 davidfraser
5649 * convert/: csv2po, dtd2po.py, oo2po, po2csv, po2dtd.py, po2moz,
5650 po2oo, po2prop.py, poreplace.py, prop2po.py: updated all
5651 conversion scripts to use new formats syntax
5653 2004-05-07 16:50 davidfraser
5655 * convert/moz2po: converted moz2po to work with new format system
5658 2004-05-07 16:49 davidfraser
5660 * convert/convert.py: overhauled the handling of input and output
5661 formats in convert this allows more sanity and flexibility
5662 basically formats expects a dictionary with keys either as
5663 inputformats or (inputformat, templateformat) tuples and values
5664 as tuples of (outputformat, convertmethod) this obliviates the
5665 need of ConvertOptionParseExt
5667 2004-05-07 15:57 davidfraser
5669 * tools/pocount: added pocount tool
5671 2004-05-07 15:18 davidfraser
5673 * filters/pofilter: don't skip over fuzzy elements...
5675 2004-05-07 15:06 davidfraser
5677 * filters/pofilter: added includefuzzy option to runpofilter (left
5678 out when adding option)
5680 2004-05-07 14:57 davidfraser
5682 * filters/pofilter: added code to include fuzzy elements
5684 2004-05-07 14:51 davidfraser
5686 * storage/xpi.py: added code to prevent generating an error if a
5687 directory is present that doesn't match commonprefix (currently
5688 happens in moz1.0/langengb.xpi)
5690 2004-05-07 14:45 davidfraser
5692 * __version__.py: version 0.8 prerelease time
5694 2004-05-07 14:42 davidfraser
5696 * convert/convert.py, filters/filtercmd.py, misc/progressbar.py:
5697 removed curses progress option throughout (it never worked)
5699 2004-05-07 14:36 davidfraser
5701 * convert/: dtd2po.py, moz2po, prop2po.py: added support for
5702 blanking msgstr when -P|--pot option is given
5704 2004-05-04 17:57 davidfraser
5706 * convert/: moz2po, po2moz: took out unneccessary imports
5708 2004-05-04 17:53 davidfraser
5710 * convert/convert.py: added code to prevent usage of older versions
5711 of optparse that can be installed alongside python 2.2
5713 2004-05-04 17:12 davidfraser
5715 * storage/xpi.py: added clone method for xpi, and TODO to work out
5716 how to write without appending
5718 2004-05-04 16:38 davidfraser
5720 * storage/xpi.py: converted to only use StringIO as cStringIO Input
5721 streams are unwriteable added CatchPotentialOutput class which is
5722 an InputStream that can become an OutputStream always add files
5723 to potentialsave, only actually add them if not already there
5724 open jarfiles in the same mode as the xpi (mostly to allow append
5725 to function) open jarfiles as CatchPotentialOutput streams when
5726 planning to use them for input
5728 2004-05-04 15:26 davidfraser
5730 * storage/xpi.py: make sure commonprefix doesn't swallow up a whole
5731 file changed default extractdir to prevent errors...
5733 2004-05-04 15:14 davidfraser
5735 * storage/xpi.py: added funky code to prevent funky error (if close
5736 is called from __del__ it can't see the class or anything except
5737 for self) all explained nicely in comments
5739 2004-05-04 14:03 davidfraser
5741 * storage/xpi.py: create directories if required in extraction
5743 2004-05-04 13:46 davidfraser
5745 * storage/po.py: allow display of a blank po entry if it has
5748 2004-05-04 13:43 davidfraser
5750 * convert/dtd2po.py: add a comment to explain an original being
5751 blank (this prevents it from being an invalid po file)
5753 2004-05-04 13:08 davidfraser
5755 * convert/convert.py: fixed missing case for stdin input
5757 2004-05-04 12:56 davidfraser
5759 * convert/prop2po.py: fixed ... was trying to extend list with a
5760 string so came out wierd...
5762 2004-05-04 11:00 davidfraser
5764 * storage/xpi.py: added TODOs to redo file mapping
5766 2004-05-04 09:50 davidfraser
5768 * convert/convert.py: rearranged setpotoption logic, forget about
5771 2004-04-30 18:22 davidfraser
5773 * storage/xpi.py: added doc strings for new classes
5775 2004-04-30 18:15 davidfraser
5777 * storage/xpi.py: added some initial work at outputting xpis (all
5778 about catching close events for inner zip files) some conversion
5781 2004-04-30 17:18 davidfraser
5783 * convert/moz2po: check that fileoption is a string before we check
5784 if it looks like an xpi filename (to avoid doing this to lists)
5786 2004-04-30 17:15 davidfraser
5788 * convert/convert.py: added code to handle multiple input files as
5789 a list (and find a common directory for them)
5791 2004-04-30 16:52 davidfraser
5793 * convert/moz2po: removed TODO about importing translations, as can
5794 be done using templates
5796 2004-04-30 16:33 davidfraser
5798 * convert/convert.py: improved usage string by rearranging order,
5799 adding parameters for optionality (only affects usage string)
5800 required giving inputformats and outputformats to setpotoption as
5803 2004-04-30 16:24 davidfraser
5805 * convert/: Makefile, convert.py: added code to handle input and
5806 output parameters without needing -i/-o (decided it was better in
5807 runconversion than recurseconversion, so put it there and changed
5810 2004-04-30 16:05 davidfraser
5812 * tools/pomerge: use new simpler parser.runconversion() to run the
5815 2004-04-30 16:00 davidfraser
5817 * convert/: convert.py, csv2po, dtd2po.py, moz2po, oo2po, po2csv,
5818 po2dtd.py, po2moz, po2oo, po2prop.py, poreplace.py, prop2po.py:
5819 updated runconversion to handle the options and argument parsing
5820 and error handling moved recursive checking logic into
5821 recurseconversion added args to recurseconversion options (can
5822 maybe use for input/output params) removed extraneous import from
5825 2004-04-30 15:38 davidfraser
5827 * convert/: TODO, oo2po: oo2po: used new convertparameters
5828 attribute to pass the pot option through to convertoo TODO: took
5829 out TODO for recursion
5831 2004-04-30 15:27 davidfraser
5833 * tools/pomerge: removed recursion option, since it is now detected
5836 2004-04-30 15:27 davidfraser
5838 * convert/: Makefile, convert.py, csv2po, dtd2po.py, moz2po, oo2po,
5839 po2csv, po2dtd.py, po2moz, po2oo, po2prop.py, poreplace.py,
5840 prop2po.py: totally removed recursive options since all this is
5841 now done automatically...
5843 2004-04-30 15:15 davidfraser
5845 * convert/: convert.py, moz2po: simplified handling of recursion on
5846 output and templates (set option.recursivexxx and check in
5847 getfullxxxpath rearrange xpi handling on moz2po so runconversion
5848 doesn't have to be overridden.
5850 2004-04-30 14:51 davidfraser
5852 * convert/: convert.py, moz2po: tried to improve intelligence of
5853 recursion detection (recurse iff the input is a directory) allow
5854 specifying input and output files, going through same method as
5855 if recursing a directory replaced inputisxpi and templateisxpi in
5858 2004-04-29 17:31 davidfraser
5860 * convert/Makefile: changed all dirs to ?= so they can be
5863 2004-04-29 17:24 davidfraser
5865 * convert/convert.py, storage/xpi.py: replaced os.path.sep,
5866 os.path.extsep with os.sep, os.extsep for python2.2 compat
5868 2004-04-29 17:19 davidfraser
5870 * convert/convert.py, filters/filtercmd.py: changed basestring to
5871 (str, unicode) for python2.2 compatibility
5873 2004-04-29 17:17 davidfraser
5875 * convert/moz2po: added __future__ for python 2.2 compatibility
5877 2004-04-29 17:13 davidfraser
5879 * filters/filtercmd.py, storage/xpi.py, convert/convert.py: added
5880 from __future__ import generators to files using yield, for
5881 python 2.2 compatibility
5883 2004-04-24 12:50 davidfraser
5885 * ChangeLog: added changelog for 0.7.1
5887 2004-04-24 11:34 davidfraser
5889 * ChangeLog: Added ChangeLog for 0.7
5891 2004-04-24 10:44 davidfraser
5893 * __version__.py: version 0.7.1
5895 2004-04-24 10:44 davidfraser
5897 * convert/Makefile: removed .py from files that have been renamed
5899 2004-04-23 23:04 davidfraser
5901 * storage/xpi.py: added crucial missing link in ospathexists...
5903 2004-04-23 22:57 davidfraser
5905 * storage/po.py: in merge, merge comments rather than adding them
5906 to avoid duplicates tried to improve fuzziness algorithm in merge
5908 2004-04-23 22:55 davidfraser
5910 * storage/xpi.py: added options to treat xpi.py like an unzip
5913 2004-04-23 22:54 davidfraser
5915 * tools/pomerge: used po merge method instead of doing it
5918 2004-04-23 22:52 davidfraser
5920 * ChangeLog: added ChangeLog from 2004-03-31
5922 2004-04-23 22:50 davidfraser
5924 * __version__.py: version 0.7
5926 2004-04-23 22:49 davidfraser
5928 * convert/: csv2po, csv2po.py, oo2po, oo2po.py, po2csv, po2csv.py,
5929 po2oo, po2oo.py: renamed oo2po, po2oo, csv2po, po2csv from .py
5930 files to scripts without .py extension
5932 2004-04-23 16:57 davidfraser
5934 * tools/pomerge: added support for using .pot files as templates
5935 took out obsolete runconversion argument
5937 2004-04-23 16:38 davidfraser
5939 * convert/Makefile: only clean after all tests (csvtests need stuff
5940 from openofficetests)
5942 2004-04-23 16:28 davidfraser
5944 * convert/convert.py: added method to pass certain command-line
5945 options through to convertmethod as parameters
5947 2004-04-23 15:26 davidfraser
5949 * convert/Makefile: made test-csv2po use standard oo templates
5950 rather than af (which were .po not .pot)
5952 2004-04-23 15:24 davidfraser
5954 * convert/: convert.py, csv2po.py, dtd2po.py, moz2po, oo2po.py,
5955 po2csv.py, po2dtd.py, po2moz, po2oo.py, po2prop.py, poreplace.py,
5956 prop2po.py: removed convertmethod option from runconversion
5957 (since this was a special case for single input and output, and
5958 we can determine it from the filenames or guess) added
5959 removeduplicates call to oo2po
5961 2004-04-22 12:50 davidfraser
5963 * convert/TODO: added TODO to handle originals in xpis
5965 2004-04-20 11:51 davidfraser
5967 * convert/moz2po: added switches to only include localization files
5968 from xpi - thus avoiding unneccessary commonprefix
5970 2004-04-20 11:48 davidfraser
5972 * storage/xpi.py: added method islocfile, argument includenonloc
5973 code to allow only browsing localizable files (and only counting
5974 them for commonprefix) added methods jarfileexists, ospathexists
5976 2004-04-20 11:36 davidfraser
5978 * convert/moz2po: only check if template is a file if it is filled
5981 2004-04-18 22:46 davidfraser
5983 * convert/oo2po.py: added kludge to get --pot into blankmsgstr
5984 (real fix is to pass options like we do in filters)
5986 2004-04-18 22:38 davidfraser
5988 * convert/po2oo.py: return True to show output is successful
5990 2004-04-16 18:25 davidfraser
5992 * convert/TODO: have done unpacking xpi added TODO to remove need
5995 2004-04-16 16:23 davidfraser
5997 * tools/detectencoding: updated to be able to handle multiple words
5998 having the same fuzzyword (in which case they are ignored) use a
5999 dictionary as dictword to handle this also output script in order
6000 of count decreasing, and show count
6002 2004-04-16 15:43 davidfraser
6004 * tools/detectencoding: factored out updatecharmap, writescript
6006 2004-04-16 15:32 davidfraser
6008 * tools/detectencoding: added option to generate a script that will
6009 do the changes found by fuzzymatch...
6011 2004-04-16 15:31 davidfraser
6013 * convert/poreplace.py: added poreplace script as basis for tools
6014 to replace stuff inside po files
6016 2004-04-16 15:25 davidfraser
6018 * convert/convert.py: added check for self.usetemplates...
6020 2004-04-16 15:13 davidfraser
6022 * convert/convert.py: replaced calls to get functions with calls to
6023 open functions added TODO
6025 2004-04-16 14:58 davidfraser
6027 * tools/detectencoding: tell the user if they haven't requested any
6030 2004-04-16 14:55 davidfraser
6032 * tools/detectencoding: don't store options that we can just use
6033 straight from self.options moved filename init from __init__ to
6034 recursefiles only print filename if verbose added lots of
6035 docstrings changed names of functions (especially handle...) to
6038 2004-04-16 14:47 davidfraser
6040 * tools/detectencoding: added option for ignorecase (so we don't do
6041 lower unless ignorecase is true)
6043 2004-04-16 14:43 davidfraser
6045 * tools/detectencoding: added code to fuzzymatch to count
6046 correspondence of chars, print out results
6048 2004-04-16 14:29 davidfraser
6050 * tools/detectencoding: fixed mistake in countmaps... factored out
6051 findwords from testwordstats fixed decodedwords being undecoded
6052 in fuzzymatch simplified printout of fuzzymatch (only one
6055 2004-04-16 14:22 davidfraser
6057 * tools/detectencoding: split fuzzymatch off from testwordstats,
6058 made it a different test fixed some bugs (decodedwords was
6059 actually translationwords!) made fuzzymatch use only one encoding
6060 added docstring for testcharstats
6062 2004-04-16 14:07 davidfraser
6064 * tools/detectencoding: factored out makecountmap method add
6067 2004-04-16 14:03 davidfraser
6069 * tools/detectencoding: renamed getcountmap to updatecountmap
6071 2004-04-16 13:34 davidfraser
6073 * tools/detectencoding: improved fuzzy matching (number of chars of
6074 non-std chars doesn't have to match) added unique and verbose
6077 2004-04-16 13:20 davidfraser
6079 * tools/detectencoding: moved listencodings, options into detector
6080 class changed testencodings to testcharstats added testwordstats,
6081 also handles fuzzy word matching added options to select tests
6082 added limitencodings option
6084 2004-04-15 18:07 davidfraser
6086 * convert/convert.py: tried to replace old
6087 getinput/output/templatefile methods with
6088 openinput/output/templatefile (not tested!)
6090 2004-04-15 18:02 davidfraser
6092 * convert/: Makefile, moz2po: added initial support for xpi
6093 templates still need to support different filename structure
6094 moved initialization of options.inputxpi
6096 2004-04-15 17:40 davidfraser
6098 * convert/: Makefile, moz2po: removed -x switch from moz2po -
6099 automatically detect xpi file / dir
6101 2004-04-15 17:34 davidfraser
6103 * storage/xpi.py: added actual xpi filename into name of
6106 2004-04-15 17:29 davidfraser
6108 * convert/: convert.py, moz2po: added code to convert to handle
6109 temporary output files using StringIO now moz2po.convertfile is
6112 2004-04-15 17:14 davidfraser
6114 * convert/: moz2po, convert.py: changed recursefiles to just yield
6115 list of inputpaths instead of output, templates, ext etc moved
6116 generation of output names, template names, etc to
6117 recurseconversion added methods openinputfile, openoutputfile,
6118 opentemplatefile to open the files... changed getconvertmethod
6119 to take inputpath, outputpath instead of extensions improved
6120 logic of gettemplatename (detect if not using templates here, not
6121 outside) made moz2po simpler by overriding openinputfile also
6122 don't need to checksubdir for every subdir in moz2po, just let
6125 2004-04-15 16:46 davidfraser
6127 * storage/xpi.py: added clever trickery so streams can have names
6128 like normal files (so for example a converted po file will
6129 contain the 'name' of the .dtd file from inside the xpi)
6131 2004-04-15 16:22 davidfraser
6133 * convert/Makefile: added test for moz2po from xpi
6135 2004-04-15 16:20 davidfraser
6137 * convert/: convert.py, moz2po: added methods
6138 getfullinput/output/templatepath so they can be overridden in
6139 derived classes (and overrode getinputpath in moz2po for xpi
6140 files) this makes recurseconversion much simpler, so it doesn't
6141 need to be overridden in moz2po improved directory creation
6142 scheme (create a directory if we're going to create a file that
6145 2004-04-15 10:13 davidfraser
6147 * storage/xpi.py: fixed bug with giving reduce an initial value -
6148 limits the result thus commonprefix wasn't working...
6150 2004-04-15 09:32 davidfraser
6152 * convert/moz2po: made non-xpi recursion return (otherwise it does
6153 the standard thing, then tries the xpi thing too)
6155 2004-04-15 09:15 davidfraser
6157 * convert/Makefile: added help to Makefile
6159 2004-04-10 09:47 davidfraser
6161 * convert/moz2po: fixed wrong reference to base class added sys
6162 import for warning output
6164 2004-04-10 09:18 davidfraser
6166 * storage/xpi.py: gave initial value to reduce to prevent error on
6167 empty list in commonprefix
6169 2004-04-08 15:36 davidfraser
6171 * convert/moz2po: added initial code to handle reading files
6172 straight out of an xpi
6174 2004-04-08 15:32 davidfraser
6176 * convert/convert.py: initprogressbar needs to return allfiles as
6177 sometimes it converts it from a generator to a list...
6179 2004-04-08 15:04 davidfraser
6181 * storage/xpi.py: added openinputstream method for getting a
6182 file-like input stream from a file (inside the xpi or an inner
6183 jar) added includedirs parameter to iterextractnames
6185 2004-04-08 14:32 davidfraser
6187 * storage/xpi.py: added functions jartoospath and ostojarpath that
6188 handle finding files inside jars
6190 2004-04-08 13:56 davidfraser
6192 * convert/convert.py: refactored recurseconversion - was too
6193 complex and difficult to override added methods initprogressbar
6196 2004-04-08 11:12 davidfraser
6198 * storage/xpi.py: modified _commonprefix to handle strings as well
6199 as lists use it to simplify jarprefixes (strip leading
6202 2004-04-08 11:04 davidfraser
6204 * storage/xpi.py: a lot of refactoring extracted _commonprefix
6205 method added a XpiFile constructor that reads out the important
6206 information cache jarfiles in self.jarfiles so they aren't
6207 extracted repeatedly added stripcommonprefix, findjarprefixes
6208 methods added ziptoospath, ostozippath methods this all
6209 simplifies iterextractnames a lot
6211 2004-04-08 10:12 davidfraser
6213 * storage/xpi.py: added xpi module
6215 2004-04-06 13:53 davidfraser
6217 * tools/detectencoding: added tool to detect encoding of files
6218 (currently po files)
6220 2004-04-03 18:11 davidfraser
6222 * storage/po.py: fixed wrong variable names
6224 2004-03-31 09:13 davidfraser
6226 * filters/: checks.py, decoration.py: added checks for numbers
6228 2004-03-31 09:00 davidfraser
6230 * filters/checks.py: separated quoting into singlequoting and
6231 doublequoting removed unneccessary calls to
6232 filterwordswithpunctuation prefilter
6234 2004-03-31 08:56 davidfraser
6236 * filters/prefilters.py: added code to detect any apostrophe in the
6237 middle of a word as not being punctuation
6239 2004-03-31 08:42 davidfraser
6241 * convert/po2csv.py: added ' to list of values to be escaped at
6242 start of string (spreadsheet cell)...
6244 2004-03-31 08:29 davidfraser
6246 * ChangeLog: added proper changelog for 0.6 (try keep this up to
6249 2004-03-30 18:20 davidfraser
6251 * filters/prefilters.py: added TODO to fix up punctuation check
6253 2004-03-30 18:19 davidfraser
6255 * ChangeLog: witty change log
6257 2004-03-30 18:15 davidfraser
6259 * __version__.py: version 0.6
6261 2004-03-30 18:11 davidfraser
6263 * filters/prefilters.py: added more common words with
6266 2004-03-30 18:10 davidfraser
6268 * filters/pofilter: updated pofilter to handle plurals in po
6270 2004-03-30 18:07 davidfraser
6272 * filters/filtercmd.py: show progress whether successful or not
6273 (not usually just means a blank file, we are still
6276 2004-03-30 18:04 davidfraser
6278 * tools/pomerge: added po merge tool
6280 2004-03-30 16:22 davidfraser
6282 * storage/po.py: renamed hasplurals to hasplural improved creation
6283 of index (always create entry in msgidindex, makes sourceindex
6286 2004-03-30 15:45 davidfraser
6288 * convert/csv2po.py: added code to handle duplicate source strings
6289 so they don't fool us...
6291 2004-03-30 14:55 davidfraser
6293 * filters/pogrep: added grep tool for po files
6295 2004-03-30 14:55 davidfraser
6297 * convert/csv2po.py: added handling for plural forms
6299 2004-03-30 14:45 davidfraser
6301 * convert/po2csv.py: added handling for msgid_plural refactored so
6302 convertstring is used generally
6304 2004-03-30 14:28 davidfraser
6306 * storage/po.py: refactored stuff so we don't calculate lengths all
6307 over the place. This also handles plurals in msgstr
6309 2004-03-30 14:10 davidfraser
6311 * storage/po.py: added ability to handle msgid_plural and msgstr[n]
6312 refactored each part's construction into getmsgpartstr
6314 2004-03-30 12:22 davidfraser
6316 * filters/checks.py: gave filters shorter names to make them easier
6319 2004-03-30 12:00 davidfraser
6321 * convert/convert.py: added code to handle outputing to the input
6322 or template file without overwriting them (use temp file)
6324 2004-03-30 11:30 davidfraser
6326 * filters/: checks.py, decoration.py: rearranged checkss -added
6327 whitespace (and associated decoration functions) and separated
6330 2004-03-30 11:28 davidfraser
6332 * filters/pofilter: refactored the getfilterdocs approach
6334 2004-03-30 11:21 davidfraser
6336 * filters/pofilter: updated to show filter documentation as well
6337 when listing filters
6339 2004-03-30 10:46 davidfraser
6341 * storage/csvl10n.py: don't need to join lines with a linebreak
6342 since they already have one...
6344 2004-03-30 10:39 davidfraser
6346 * convert/csv2po.py: removed doencode (what was it there for?)
6348 2004-03-30 10:29 davidfraser
6350 * convert/csv2po.py: moved header testing out of template-merging
6351 code to make it apply to all conversions
6353 2004-03-30 10:17 davidfraser
6355 * filters/: checks.py, pofilter: added gnome checking option
6357 2004-03-30 10:16 davidfraser
6359 * convert/convert.py: made templates pot files if output is po
6362 2004-03-30 10:14 davidfraser
6364 * convert/csv2po.py: merged csv2po and repo into one class so we
6365 can sort out related issues together...
6367 2004-03-29 21:59 davidfraser
6369 * filters/pofilter: addoption to list all filters instead of
6370 actually running them
6372 2004-03-29 16:28 davidfraser
6374 * storage/po.py: added option to check if msgstr is blank
6376 2004-03-23 14:03 davidfraser
6378 * convert/convert.py: added ability to use templates in
6379 non-recursive case...
6381 2004-03-13 20:57 dwaynebailey
6383 * filters/TODO: Updated TODO items
6385 2004-03-12 18:20 davidfraser
6387 * filters/TODO: added TODO file...
6389 2004-03-12 18:20 davidfraser
6391 * __version__.py: version 0.5
6393 2004-03-12 18:15 davidfraser
6395 * filters/pofilter: .msg.d10442
6397 2004-03-12 17:49 davidfraser
6399 * filters/filtercmd.py: added ability to pass options through to
6400 filter command by specifying option keywords...
6402 2004-03-12 17:49 davidfraser
6404 * filters/pofilter: added ability to specify filterobject used new
6405 ability to pass options into filter command to allow
6406 openoffice/mozilla checker, handle includereview etc
6408 2004-03-12 17:32 davidfraser
6410 * convert/convert.py: added TODO about refactoring to share common
6411 code with filters.filtercmd limited progress options to available
6414 2004-03-12 17:32 davidfraser
6416 * filters/pofilter: modified to use new run_filters method of
6417 checks added TODO about handling options fixed filter. to
6418 filtercmd. renamed input to inputarg to avoid pychecker warning
6420 2004-03-12 17:30 davidfraser
6422 * filters/filtercmd.py: made progress options limited to the
6425 2004-03-12 17:27 davidfraser
6427 * filters/checks.py: .msg.bm9152
6429 2004-03-12 17:11 davidfraser
6431 * filters/pofilter: renamed filter to filtercmd removed unused
6434 2004-03-12 17:09 davidfraser
6436 * filters/: filter.py, filtercmd.py: renamed filter to filtercmd
6437 since filter is a builtin function
6439 2004-03-12 17:01 davidfraser
6441 * filters/pofilter: added pofilter tool which curently uses checks
6444 2004-03-12 16:58 davidfraser
6446 * filters/filter.py: added filter as base class for filter tools
6448 2004-03-12 16:55 davidfraser
6450 * convert/: moz2po, po2moz: removed unneccessary imports...
6452 2004-03-12 16:51 davidfraser
6454 * storage/po.py: forgot to remove po. when moving makeheader into
6457 2004-03-12 16:44 davidfraser
6459 * convert/csv2po.py: added a TODO to merge the two classes defined
6460 here also added a redundant return to avoid a pychecker error...
6462 2004-03-12 16:36 davidfraser
6464 * convert/dtd2po.py: moved po header creation into storage.po (all
6465 the other cvs comments say convert/dtdpo.py because I messed up
6468 2004-03-12 16:35 davidfraser
6470 * convert/oo2po.py, convert/prop2po.py, storage/po.py:
6473 2004-03-12 16:34 davidfraser
6475 * convert/po2csv.py: removed unused modules
6477 2004-03-12 16:24 davidfraser
6479 * convert/csv2po.py: moved the counts about matching strings so
6480 they don't get called added in a TODO to display them in verbose
6483 2004-03-12 16:17 davidfraser
6485 * filters/.cvsignore: added .cvsignore for filters
6487 2004-03-12 16:14 davidfraser
6489 * misc/sparse.py: .msg.cR7134
6491 2004-03-12 16:12 davidfraser
6493 * misc/quote.py: changed from cp1250 to iso-8859-1 and added FIXME
6494 to avoid things like doencode...
6496 2004-03-12 16:08 davidfraser
6498 * convert/po2csv.py: handle blank po elements (don't produce a
6501 2004-03-12 16:00 davidfraser
6503 * convert/Makefile: fixed csv2po to use appropriate templates...
6505 2004-03-12 15:57 davidfraser
6507 * convert/: convert.py, csv2po.py, oo2po.py, po2csv.py, po2oo.py:
6508 updated to make convertmethods work... only show filename if
6509 successful... improved handling of header in csv2po
6511 2004-03-12 15:45 davidfraser
6513 * convert/csv2po.py: fixed to use standard Convert class, make
6514 templates like input imported sparse option converted extract. to
6515 quote. (from old code)
6517 2004-03-12 15:38 davidfraser
6519 * convert/csv2po.py: changed csv2po from defaultrecursion to
6522 2004-03-12 15:36 davidfraser
6524 * convert/Makefile: allow the progress option to be set by an
6525 environment variable
6527 2004-03-12 15:34 davidfraser
6529 * convert/oo2po.py: indicate if outputpo is empty (so it can be
6530 removed by convertor)
6532 2004-03-12 15:31 davidfraser
6534 * convert/csv2po.py: added in the repo class (previously csv2po2)
6535 that allows conversion using a .po template converted to use
6536 convert.ConvertOptionParser methods...
6538 2004-03-12 15:15 davidfraser
6540 * convert/po2csv.py: converted totally to
6541 convert.ConvertOptionParser system
6543 2004-03-12 15:12 davidfraser
6545 * convert/Makefile: added better system of categorization now you
6546 can test-mozilla, test-openoffice, test-csv, or clean- each of
6547 them also added csv tests...
6549 2004-03-12 15:10 davidfraser
6551 * convert/convert.py: updated formathelp to handle format
6554 2004-03-12 15:01 davidfraser
6556 * convert/: oo2po.py, po2dtd.py, po2prop.py: removed unneccessary
6559 2004-03-12 14:30 davidfraser
6561 * convert/: oo2po.py, po2oo.py: converted to use new
6562 ConvertOptionParser runconversion system
6564 2004-03-12 14:25 davidfraser
6566 * convert/: dtd2po.py, moz2po, prop2po.py: moved convertdtd to
6567 dtd2po and convertprop to prop2po (updated existing methods)
6568 converted main methods in dtd2po and prop2po to use convert
6570 2004-03-12 14:17 davidfraser
6572 * convert/: moz2po, dtd2po.py, po2dtd.py, po2moz, po2prop.py,
6573 prop2po.py: updated Mozilla command lines to use new
6574 ConvertOptionParserExt (this gives the .dtd.po instead of simple
6575 .po handling capabilities) changed old --pot options to new
6576 usepots took out silly comments
6578 2004-03-12 14:12 davidfraser
6580 * convert/convert.py: split off the code that combines extensions
6581 (e.g. .dtd.pot) into a subclass, do a simpler thing in
6582 ConvertOptionParser improved template format intelligence (allow
6583 user to override whether template is like input or output)
6585 2004-03-12 13:20 davidfraser
6587 * convert/convert.py: improved the logic for detecting
6588 input/outpformats to be based on dict/list rather than
6589 single/multiple (this is to help po2dtd.py and po2prop.py) also
6590 added a TODO to improve it further...
6592 2004-03-12 13:10 davidfraser
6594 * convert/: po2dtd.py, po2moz, po2prop.py: moved convertdtd to
6595 po2dtd and convertprop to po2prop (updated existing methods)
6596 converted main methods in po2dtd and po2prop to use convert
6598 2004-03-12 12:32 davidfraser
6600 * convert/Makefile: added makefile that runs tests...
6602 2004-03-12 12:30 davidfraser
6604 * convert/convert.py: added a none option for progresstype
6606 2004-03-12 12:28 davidfraser
6608 * convert/po2oo.py: fixed reference to optparse (the rest of this
6609 needs to be updated though...)
6611 2004-03-12 11:34 davidfraser
6613 * misc/progressbar.py: added an invisible progress bar...
6615 2004-03-12 11:10 davidfraser
6617 * filters/prefilters.py: removed unused variable (what was it for?)
6619 2004-03-12 08:16 davidfraser
6621 * convert/convert.py: strip off the . before the inputext (like we
6622 do with the outputext)
6624 2004-03-11 07:22 davidfraser
6626 * misc/: quote.py, setup.py: renaming variables for pychecker
6627 updated _cvs version in setup
6629 2004-03-11 06:32 davidfraser
6631 * storage/: po.py, properties.py: renamed/removed variables to
6632 remove pychecker warnings...
6634 2004-03-11 06:29 davidfraser
6636 * convert/convert.py: fixed errors picked up py pychecker (and
6639 2004-03-10 18:56 davidfraser
6641 * filters/: checks.py, prefilters.py: refactored so all the helper
6642 functions are in TranslationChecker (and automatically
6643 ignored...) also made accelerators and varmatch parameters so
6644 they don't have to be defined in prefilters... moved the
6645 definitions for OpenOffice and Mozilla into classes in checks
6646 removed unneeded stuff from prefilter
6648 2004-03-10 18:38 davidfraser
6650 * filters/helpers.py: added default argument to reduce calls so if
6651 list is empty, no error is produced...
6653 2004-03-10 18:03 davidfraser
6655 * filters/: checks.py, prefilters.py: moved all the checks in
6656 checks into a class adjusted the wrapping of prefilters to work
6657 in a more readable fashion... fixed unneccessary parameter in
6660 2004-03-10 16:36 davidfraser
6662 * filters/: __init__.py, checks.py, decoration.py, helpers.py,
6663 prefilters.py: added initial versions of filtering code...
6665 2004-03-08 18:50 davidfraser
6667 * convert/convert.py: adapted to support using .pot files instead
6668 of .po files adapted to handle multiple input formats, one output
6669 format fixed prunesubdirs...
6671 2004-03-02 17:16 davidfraser
6673 * convert/po2csv.py: temporarily added import optparse to handle
6674 errors added header columns to csv
6676 2004-03-02 16:57 davidfraser
6678 * convert/po2moz: converted to use convert module for recursion,
6679 option handling made convert functions return 1 so that they are
6680 registered as successful... took out unneccessary code,
6683 2004-03-02 13:52 davidfraser
6685 * convert/convert.py: added support for verbose progress output...
6687 2004-03-02 13:52 davidfraser
6689 * misc/progressbar.py: added Simple, Verbose progress bars...
6690 added verbosemessage option
6692 2004-03-02 13:43 davidfraser
6694 * convert/convert.py: refactored recursion. added support for
6695 progress indicators added support for multiple output formats
6696 instead of input formats
6698 2004-03-02 12:44 davidfraser
6700 * misc/progressbar.py: added progress bar classes...
6702 2004-03-02 11:49 davidfraser
6704 * convert/convert.py: reverted patch to only use single
6705 outputformat (po2moz needs multiple)... still need to make it
6706 work out extension in that case... changed name from
6707 options.recursion to options.recursive
6709 2004-03-01 18:47 dwaynebailey
6711 * .cvsignore, convert/.cvsignore, misc/.cvsignore,
6712 storage/.cvsignore: Add .cvsignore files everywhere
6714 2004-02-27 17:33 davidfraser
6716 * storage/po.py: escape escapes in getunquotedstr
6718 2004-02-27 17:09 davidfraser
6720 * convert/: convert.py, moz2po: moved recursion and handling of
6721 options into convert module (fixed mistaken earlier using of
6722 self. for options.) changed from supporting multiple
6723 outputformats to only supporting one...
6725 2004-02-27 16:51 davidfraser
6727 * convert/convert.py: refactored convert to be more intelligent and
6728 modular... started adding functions to actually run the
6731 2004-02-27 16:07 davidfraser
6733 * convert/: convert.py, dtd2po.py, moz2po, oo2po.py, po2csv.py,
6734 po2moz, po2oo.py, po2prop.py, prop2po.py: converted all tools to
6735 use new convert.ConvertOptionsParser also changed from new type
6736 to standard class, added default parameter to constructor
6738 2004-02-27 15:23 davidfraser
6740 * convert/: convert.py, moz2po: added a new convert module to
6741 incorporate common elements of convert tools - option
6742 construction and parsing (done) - will also have recursion logic,
6745 2004-02-27 14:26 davidfraser
6747 * convert/csv2po.py, storage/csvl10n.py: made storage.csvl10n
6748 handle construction from inputfile startedc converting csv2po to
6751 2004-02-27 14:21 davidfraser
6753 * convert/: csv2po.py, oo2po.py, po2csv.py: added csv2po from old
6756 2004-02-27 13:06 davidfraser
6758 * convert/po2csv.py: converted to new command-line options system
6760 2004-02-27 13:01 davidfraser
6762 * convert/po2csv.py: added po2csv from old version...
6764 2004-02-24 19:12 davidfraser
6766 * misc/setup.py: made the csv setup script usable by other setup
6769 2004-02-24 17:34 davidfraser
6771 * convert/: dtd2po.py, moz2po, oo2po.py, po2dtd.py, po2moz,
6772 po2oo.py, po2prop.py, prop2po.py: added --version options
6774 2004-02-24 17:26 davidfraser
6776 * __version__.py: added version file
6778 2004-02-24 14:16 davidfraser
6780 * convert/oo2po.py: changed variable names that shadow builtin
6783 2004-02-24 14:15 davidfraser
6785 * convert/oo2po.py: made inputformat and outputformat local
6786 variables/parameters rather than globals
6788 2004-02-24 14:11 davidfraser
6790 * storage/dtd.py: added comments...
6792 2004-02-24 14:10 davidfraser
6794 * convert/: TODO, moz2po, prop2po.py: added full template support
6795 for properties files in moz2po fixed wrong variable name in
6796 prop2po improved comments...
6798 2004-02-24 14:07 davidfraser
6800 * storage/properties.py: added a propfile.makeindex method cleaned
6803 2004-02-24 14:05 davidfraser
6805 * convert/prop2po.py: added mergefiles method, use it to convert
6806 template + inputfile...
6808 2004-02-24 13:42 davidfraser
6810 * convert/dtd2po.py: added both original and translated dtd
6811 filename into header when merging files... improved comments to
6812 reflect template usage
6814 2004-02-24 13:31 davidfraser
6816 * convert/: moz2po, prop2po.py: started adding support for
6817 templates to prop2po started rearranging moz2po based on new
6818 system (storage.properties etc)
6820 2004-02-24 13:30 davidfraser
6822 * storage/po.py: improved logic of pofile.isblank() so that if it
6823 has extra blank elements it still is blank
6825 2004-02-24 13:15 davidfraser
6827 * convert/TODO: done the translate.storage.properties class
6829 2004-02-24 13:13 davidfraser
6831 * storage/po.py: rearranged handling of blank msgid... to not
6832 include sourcecomments etc also altered merging to not merge
6835 2004-02-24 13:03 davidfraser
6837 * convert/prop2po.py: improved handling of comments (generic now
6838 instead of just header comments)... prevents blank propelements
6839 from being discarded...
6841 2004-02-24 12:16 davidfraser
6843 * storage/properties.py: added code to handle blank properties
6844 elements (i.e. just comments followed by a blank line)
6846 2004-02-24 12:13 davidfraser
6848 * convert/prop2po.py: did better handling of headers (merge
6849 comments in at the start) stripped msgids...
6851 2004-02-24 11:18 davidfraser
6853 * convert/dtd2po.py, storage/dtd.py: added code to pick up the
6854 input file name and put it in the header...
6856 2004-02-24 11:16 davidfraser
6858 * convert/prop2po.py: converted to use poelements when generating
6859 the po file that way we don't have to regenerate it...
6861 2004-02-24 10:59 davidfraser
6863 * convert/TODO: added need to convert existing properties files to
6866 2004-02-24 10:51 davidfraser
6868 * convert/prop2po.py: converted to use new storage.properties
6869 module added TODOs for rest of conversion...
6871 2004-02-24 10:41 davidfraser
6873 * storage/properties.py: added storage.properties module for
6874 handling properties files...
6876 2004-02-24 10:40 davidfraser
6878 * storage/po.py: improved comments, took out unneccessary TODOs
6880 2004-02-20 17:30 davidfraser
6882 * convert/dtd2po.py: added template capabilities to command line...
6884 2004-02-20 17:23 davidfraser
6886 * convert/moz2po: added the ability to use template directories
6887 (produce a .po that represents a translation)
6889 2004-02-20 17:21 davidfraser
6891 * convert/dtd2po.py: added code to merge two dtd files (original
6892 and translated) removed leftover code
6894 2004-02-20 17:08 davidfraser
6896 * convert/dtd2po.py: refactored convertfile into findmixedentities,
6897 convertdtdelement, convertfile made findmixedentities construct a
6898 dictionary rather than a list, indicate success with the values
6899 this is a much cleaner approach ... the refactoring should help
6900 with merging dtd files of translations into the originals to
6903 2004-02-20 16:32 davidfraser
6905 * convert/dtd2po.py: refactored creating the po header...
6907 2004-02-20 16:17 dwaynebailey
6909 * convert/moz2po: made properties files conversions always succeed
6910 (previously they weren't returning anything)
6912 2004-02-20 14:47 davidfraser
6914 * storage/po.py: added code to handle empty lines added
6915 pofile.isempty to check if a file contains no definitions (at
6918 2004-02-20 14:44 davidfraser
6920 * convert/: TODO, moz2po: removed empty directories and .pot files
6921 added -P|--pot to usage
6923 2004-02-20 14:41 davidfraser
6925 * convert/TODO: added TODO to not create empty directories...
6927 2004-02-20 12:19 davidfraser
6929 * convert/: TODO, prop2po.py: handled duplicates in prop2po with a
6930 kludge because it is already a kludge added TODOs to indicate
6933 2004-02-20 11:59 davidfraser
6935 * convert/dtd2po.py: added code to remove duplicates...
6937 2004-02-20 11:53 davidfraser
6939 * convert/moz2po: made a switch, --pot or -P which produces .pot
6942 2004-02-20 11:42 davidfraser
6944 * convert/oo2po.py: made it produce .pot files if -P is given
6946 2004-02-20 11:32 davidfraser
6948 * __init__.py, convert/__init__.py, convert/dtd2po.py,
6949 convert/moz2po, convert/oo2po.py, convert/po2dtd.py,
6950 convert/po2moz, convert/po2oo.py, convert/po2prop.py,
6951 convert/prop2po.py, misc/__init__.py, misc/quote.py,
6952 misc/setup.py, storage/__init__.py, storage/csvl10n.py,
6953 storage/dtd.py, storage/oo.py, storage/po.py: changed all
6954 #!/usr/bin/python2.2 headers to #!/usr/bin/env python
6956 2004-02-17 15:50 davidfraser
6958 * convert/TODO: sorted out extension handling...
6960 2004-02-17 15:36 davidfraser
6962 * convert/po2oo.py: adjusted po2oo.py to cater for plain .po files,
6965 2004-02-17 15:21 davidfraser
6967 * storage/dtd.py: rearranged code to prevent entities inside
6968 comments from being seen... (delete the comment part once we've
6971 2004-02-17 12:35 davidfraser
6973 * convert/oo2po.py, convert/po2oo.py, storage/oo.py: added methods
6974 to normalize unexpected characters in OO keys
6976 2004-02-13 13:23 davidfraser
6978 * storage/po.py: added note on todict function...
6980 2004-02-10 15:23 davidfraser
6982 * convert/: oo2po.py, po2oo.py: improved method of converting
6983 OpenOffice key tuples into po location strings this prevents
6984 errors with gettext tools like msguniq also added some TODOs
6985 about future improvements that are required...
6987 2004-02-06 12:33 davidfraser
6989 * misc/quote.py: added ability to escape escapes when escaping
6990 quotes (otherwise you can't unescape them back...)
6992 2004-02-06 12:32 davidfraser
6994 * convert/: dtd2po.py, prop2po.py: po headers should be fuzzy, for
6995 templates the charset should not be set also escapes need to be
6996 escaped when converting .properties files to .po files
6998 2004-01-28 13:07 davidfraser
7000 * convert/TODO: need to handle duplicates in moz2pot and oo2pot
7001 (merge #: id/source)
7003 2004-01-26 12:27 davidfraser
7005 * convert/po2oo.py: added code to renumber the language code
7007 2004-01-26 09:20 davidfraser
7009 * convert/: oo2po.py, po2oo.py: added openoffice <-> gettext
7012 2004-01-26 09:13 davidfraser
7014 * convert/TODO: added TODO about extensions done openoffice
7015 conversion (about to add...)
7017 2004-01-26 09:12 davidfraser
7019 * convert/dtd2po.py: corrected doc string
7021 2004-01-20 17:50 davidfraser
7023 * convert/: TODO, moz2po: added TODO file
7025 2004-01-20 17:18 davidfraser
7027 * convert/po2prop.py: fixed escaping (needs to know escape
7028 character even though it isn't included in the new string)
7029 changed to show proper optparse error if no template file
7032 2004-01-20 14:39 davidfraser
7034 * convert/dtd2po.py: took out obsolete docstring
7036 2004-01-20 14:37 davidfraser
7038 * convert/moz2po: added moz2po script to convert mozilla trees to
7041 2004-01-20 14:37 davidfraser
7043 * convert/po2moz: fixed silly doc string
7045 2004-01-20 14:25 davidfraser
7047 * storage/: dtd.py, oo.py, po.py: fixed warnings from pychecker -
7048 builtin variable names, unused variables, etc
7050 2004-01-20 14:20 davidfraser
7052 * convert/po2moz: added po2moz script to convert a whole tree from
7053 .po to mozilla-style (including .dtd and .properties files
7055 2004-01-20 14:10 davidfraser
7057 * convert/: dtd2po.py, po2dtd.py, po2prop.py, prop2po.py: fixed
7058 error - templatefile instead of self.templatefile fixed help
7059 strings for outputfile fixed warnings from pychecker - builtins
7062 2004-01-20 12:28 davidfraser
7064 * convert/po2dtd.py: added recursive option to process directory
7067 2004-01-16 11:56 davidfraser
7069 * storage/po.py: remember the filename that this pofile object
7072 2003-12-23 15:19 davidfraser
7074 * COPYING, ChangeLog, README, __init__.py, convert/README,
7075 convert/__init__.py, convert/dtd2po.py, convert/po2dtd.py,
7076 convert/po2prop.py, convert/prop2po.py, misc/csv.py,
7077 storage/__init__.py, storage/csvl10n.py, storage/dtd.py,
7078 storage/oo.py, storage/po.py, misc/README, misc/__init__.py,
7079 misc/_csv.c, misc/optparse.py, misc/quote.py, misc/setup.py,
7080 misc/textwrap.py: Initial revision
7082 2003-12-23 15:19 davidfraser
7084 * COPYING, ChangeLog, README, __init__.py, convert/README,
7085 convert/__init__.py, convert/dtd2po.py, convert/po2dtd.py,
7086 convert/po2prop.py, convert/prop2po.py, misc/csv.py,
7087 storage/__init__.py, storage/csvl10n.py, storage/dtd.py,
7088 storage/oo.py, storage/po.py, misc/README, misc/__init__.py,
7089 misc/_csv.c, misc/optparse.py, misc/quote.py, misc/setup.py,
7090 misc/textwrap.py: imported a restructured, cleaner, nicer version
7091 of the l10ntools.mozdev.org scripts