Hello Brian,

At 09:26 01/09/27 -0700, Brian Stell wrote:
>James Briggs wrote:
> > ...
> > Basically, invent a new quote operator (qL) and have it
> > call a user function to do resource lookup with dbm or
> > DBI or whatever.
> >
> > It would look like:
> >
> > print qL(The weather is $skycover today.);
>
>This method is useful in 2 areas:
>
>  1) a bridge to allow pre-existing apps to be converted rapidly
>
>  2) resource strings for simple / small apps
>
>For larger apps the issue is that using the text as the key
>is not quite unique enough. Sometimes the same text in English
>needs different translations in other languages depending on
>the subtleties.

Yes, in principle. But:

- It should be possible to use context information to distinguish
   the two strings. This idea is due to Philip Greenspun, of photo.net
   fame, who proposed to use the uri as an additional lookup parameter
   in a cgi script. This would need changes to the implementation of
   qL, and the initialization, but would leave the actual call untouched
   (and thus readable).

- It is possible to introduce a convention
   (e.g. print qL(##53##The weather is $skycover today.);)
   where ##53## serves as a message number. This is completely
   independent of implementation.


>I have seen companies start out with this method but in
>the long run they all moved away from it.

What do they move to?

Anyway, with something like ##53##, they can start out, and
move away, but still stay with it :-).

Of course, nobody is required to use it. In perl, there is always
more than one way :-).

Anyway, I mostly want to know how I could go about to make this
possible, not whether it's a good idea or not (which everybody
can decide on their own). In may view, the main implementation
problems are:

- How to get 'qL' (or whatever we choose) to start a quotation
   and call something.
- In the called place, how to make sure that variable substitution
   occurs using the variables defined where the qL was.

Any help or advice is highly appreciated.


Regards,   Martin.

Reply via email to