Commit graph

35 commits

Author SHA1 Message Date
acli
5c84b3411e Minor documentation correction 2004-12-30 06:53:13 +00:00
acli
2d132d2b6b Added hack to extract and translate strings inside JavaScript CDATA blocks,
using C-like _("some translatable string") notation. English templates will
need to be modified.
2004-03-10 07:00:27 +00:00
acli
507773d963 Sorry, forgot to take out debugging code before committing 2004-03-08 05:00:42 +00:00
acli
db1660f512 Fixed some bugs which caused some context to be not recognized, and some
spurious context to be recognized.  In particular, the bugs fixed are:

1. Failure to recognize INPUT element at the end, e.g., if the input has
   the form "Item number:%S", then the pattern was recognized as only
   "Item number".

2. Failure to remove matching <foo></foo> tags if the pattern contains
   INPUT or TMPL_VAR; e.g., if the input has the form "<h1>%s %s</h1>",
   the form would not be simplified to "%s %s".

Unfortunately, fixing these 2 bugs will cause about 40 fuzzies to appear.
2004-03-08 04:59:38 +00:00
acli
66775a8646 - Consider <INPUT type=text> and <INPUT type=text> part of strings.
- If a string is enclosed by a tag, remove that tag from the extracted string
- Generate automatic comments to provide more information for the translator
- A couple bug fixes
2004-02-27 13:26:07 +00:00
acli
63508b81cb This should now handle spurious "strange attribute syntax" much more sanely. 2004-02-25 08:16:24 +00:00
acli
8451615142 Ugly hack to avoid screenfuls of spurious warnings about "Possible SGML
closed tag notation"
2004-02-25 06:56:42 +00:00
acli
fc4cd326b1 Try to be a little bit more helpful with "Strange attribute syntax..."
warnings. (Actually, is syntax like foo="bar"foo="bar" actually valid?)
2004-02-25 06:49:35 +00:00
acli
3c20689a73 After the previous change, the scanner will hang if the input is malformed
in a certain way, such as having a <title> but not matching </title>.
This should fix it.
2004-02-25 06:25:29 +00:00
acli
3cc7be72c7 This should make it handle commenting out of whole blocks of HTML better.
It seems to be still correct, and it is no longer complaining about syntax
errors when seeing commented-out HTML (esp. with TMPL_* directives).

Don't try to translate stuff between <title>...</title> too, the stuff in
the middle is supposed to be PCDATA.
2004-02-25 06:08:41 +00:00
acli
3ed061c026 Fixed a bug which caused </script> to be not recognized as a tag 2004-02-23 18:49:56 +00:00
acli
dda8e7d233 Off-by-one bug 2004-02-23 04:36:56 +00:00
acli
77a1d8682d Fold all consecutive whitespaces into single blanks. This avoids problems
when minor whitespace changes occur in the original templates; it also
makes the strings much easier to read (e.g., instead of "foo\n\n\t\t  bar",
xgettext.pl will now always generate "foo bar" and tmpl_process3.pl will
understand it to be the same as the original string).
2004-02-23 01:21:03 +00:00
acli
10a00d1b50 Preliminary support for "analysis" of strings with <a> tags.
Early termination of analysis if we encounter some strings, such as </h1>
or | or ||, in order to avoid extracting strings that are unnecessarily
long and which doesn't add any meaningful context.
2004-02-22 21:34:40 +00:00
acli
03695ce811 Try to relax the criteria for allowing groups of tokens without TMPL_VAR
to be combined together into one string. This seems to have the desired
effect (that "<b>foo</b> bar" type strings are now recognized in one piece).

However, "<h1>foo</h1>\nexplanation"-type things may now also be (arguably
wrongly) recognized as one piece.
2004-02-22 09:04:53 +00:00
acli
9268d4e11c The French character handling fix for tmpl_process3 was not checked in
for some reason.

Try to remove trailing ( in strings too.
2004-02-22 08:18:27 +00:00
acli
b7150bb0c3 Ugly hack to get rid of the close tag in pathetic "foo %s</h1>"-like strings 2004-02-22 07:00:16 +00:00
acli
fb1cfd3dd3 Templates with French characters were not handled properly in the install
step. This is now fixed.
2004-02-22 06:46:15 +00:00
acli
b2138f5d0d Handle the iso8859-1 charset somewhat, so that when the po file is in
either iso8859-1 or utf8, msgmerge(1) won't crap out. The code is ugly;
the conversion table is hard-coded, and in some place not very appropriate.

However, this does fix the case where a few strings containing French
characters can't be translated. As a side effect, tmpl_process3 can now
also be used for French or other languages using iso8859-1.
2004-02-22 05:18:52 +00:00
acli
0f1c4df62a Fixed bug where a <textarea...>#cdata</textarea> on one line won't be
scanned properly.
2004-02-20 07:52:32 +00:00
acli
257b26d141 Partially allow combination of several TEXT tokens. It seems that this
gives better strings. (Always allowing combinations gives havoc, we
currently avoid this by allowing combination only if the first and last
tokens are both TEXT.)
2004-02-20 07:09:47 +00:00
acli
b6c37e376e Support %0.0s notation so that we can omit the %s as in Year%s for the
Chinese translation. (This won't work for all languages; ultimately the
English templates must be fixed.)
2004-02-20 04:38:02 +00:00
acli
0d4f569ff3 Try to not display like 40-line warnings too often 2004-02-20 02:48:39 +00:00
acli
793f49ec7f Escape ISO8859-1 characters. msgmerge still hates these strings, but at
least the po file merges.
2004-02-20 00:39:26 +00:00
acli
8b57901d85 New scripts for translation into Chinese and other languages where English
word order is too different than the word order of the target language to
yield meaningful translations.

The new scripts use a different translation file format (namely standard
gettext-style PO files).

This seems to reasonably work (e.g., producing an empty en_GB translation
then installing seems to not corrupt the "translated" files), but it likely
will still contain some bugs. There is also little documentation, but try
to run perldoc on the .p[lm] files to see what's there. There are also some
spurious warnings (both from bugs in the new scripts and from buggy third-
party Locale::PO module).
2004-02-19 21:24:30 +00:00
acli
053bb685ab Warn against Apache #include directive 2004-02-18 06:56:19 +00:00
acli
6e1a824374 The previous change was wrong. 2004-02-17 07:45:17 +00:00
acli
a9edbfe34c Allow trim to return the trimmed whitespace if the caller wants them. 2004-02-17 07:26:29 +00:00
acli
4d2463c34a Insert the filename of the token into the TmplToken object too 2004-02-17 05:42:27 +00:00
acli
39dc31c2c9 Converted TmplTokenizer into a class. Everything still seems ok, but it is
not tested thoroughly.
2004-02-17 05:07:04 +00:00
acli
ae87eee049 Still more bugfixes for my own bugs.
$readahead is now an array @readahead which can contain TmplToken objects,
so "ungetting" tokens should not disturb the line number counter any more.
2004-02-17 03:17:48 +00:00
acli
09c348bd9c Further breaking up of the TmplTokenizer module.
A couple of minor fixes.
2004-02-17 02:45:27 +00:00
acli
2f7192689a Avoid direct accessing of variables inside the module 2004-02-16 23:50:56 +00:00
acli
0b6030aecd Some functions should not be in the module; these are now removed. 2004-02-16 23:46:34 +00:00
acli
59d2e35180 Pulled the tokenizer out into a module. Hope this has been done right. 2004-02-16 23:42:57 +00:00