>>>>> "DW" == Dave Wolfe <email@example.com> writes:
DW> This seems to imply that messages are separated by blank lines, which
DW> would preclude multi-paragraph messages and highlighting parts of
DW> messages by whitespace, e.g.:
These are translations for short strings, not for paragraphs. Look at the
various things in the code that need to be translated; they aren't very
long. We're talking about things like "Invalid address: $A". The strings
should not assume any kind of word wrapping anyway, because the interface
knows the screen width (and whether or not it wants blank lines and such in
there) much better than the core does. In other words, what you wrote is
going to look pretty bad in HTML since the whitespace is ignored.
DW> Then can we assume that escaped dollar signs (\$) are used for literal
DW> dollar signs?
No need; only the exact patterns are replaced. $a doesn't get replaced,
nor does $Abc.
DW> Might it not also be clearer to use numeric substitution variables?
That has greater chance of interfering with something. $1 actually appears
in English text, $A doesn't.
DW> Or are you going to use keyword variables for substitution?
Actually I was going to use $A, $B, etc.
This is just the same code that substitutes in the message files. I have
seen no need to have any complicated escapes there. Let's keep it simple,
please. If someone actually finds a reason to need escapes, we can add
DW> I also wonder if the startup time of parsing (possibly multiple) flat
DW> files of messages, most of which won't be used, couldn't be eliminated
DW> by "compiling" the message files into DBM files and accessing them
DW> through tied hashes.
People don't like DBM, it seems; I was going to cache them in raw perl data
structures and keep them in memory. The cost is certainly less than
loading the DBM library. Simplicity, please.