I changed the regular expression in gluon/languages.py as below, and
"update all languages" now updates the strings in T() and Tx() :-)
PY_STRING_LITERAL_RE = r'(?<=[^\w]T)x?\((?P<name>'\
+ r"[uU]?[rR]?(?:'''(?:[^']|'{1,2}(?!'))*''')|"\
+ r"(?:'(?:[^'\\]|\\.)*')|" + r'(?:"""(?:[^"]|"{1,2}(?!"))
*""")|'\
+ r'(?:"(?:[^"\\]|\\.)*"))'
To follow naming convention in web2py, would it be better called TX()
instead of Tx()?
--
Teru
On 6月6日, 午前11:17, suiato <[email protected]> wrote:
> On 6月5日, 午後9:59, mdipierro <[email protected]> wrote:
>
> > in principle yes. what error do you get?
>
> Adding the line
> Tx=lambda *a: XML(str(T(*a))
> to store.py in the model of eStore doesn't cause any errors.
> In fact, it seems to be working in Shell.
>
> After a good sleep, I realize findT() is made to look for T(), not Tx
> ()... isn't it?
> If so, the regular expression in languages.py in gluon needs to be
> changed to find Tx() as well as T().
> I'm not familiar with regular expression, and will appreciate some
> advice. The pattern (in ver.1.63.2) is
>
> # pattern to find T(bla bla bla) expressions
> PY_STRING_LITERAL_RE = r'(?<=[^\w]T\()(?P<name>'\
> + r"[uU]?[rR]?(?:'''(?:[^']|'{1,2}(?!'))*''')|"\
> + r"(?:'(?:[^'\\]|\\.)*')|" + r'(?:"""(?:[^"]|"{1,2}(?!"))
> *""")|'\
> + r'(?:"(?:[^"\\]|\\.)*"))'
> regex_translate = re.compile(PY_STRING_LITERAL_RE, re.DOTALL)
>
> By the way, in epydoc(http://mdp.cti.depaul.edu/examples/static/
> epydoc/), it's
> regex_translate = re.compile(r'(?s)(?<=[^\w]T\()(?P<name>[uU]?[rR]?(?:
> \'\'\'(?:[^\']|\'{\1,2}(?!\'))*\'\'\')|(?:\'(?:[^\'\\]|\\.)*\')|
> (?:"""(?:[^"]|"{1,2}(?!")\)*""")|(?:"(?:[^"\\]|\\.)*"))')
>
> --
> Teru
>
>
>
> > On Jun 4, 10:08 pm, suiato <[email protected]> wrote:
>
> > > On 6月5日, 午前1:47, JorgeR <[email protected]> wrote:
>
> > > > cool
>
> > > > this should go in the wiki under 'tips and tricks'
>
> > > Oh, inhttps://mdp.cti.depaul.edu/wiki/?
> > > Actually, it'd be nice to have a topic on translation/i18n/l10n.
>
> > > > On Jun 3, 11:08 pm, suiato <[email protected]> wrote:
>
> > > > > 2009/06/04 12:57 mdipierro <[email protected]>:
>
> > > > > > In model you can just do
>
> > > > > > Tx=lambda *a: XML(str(T(*a))
>
> > > > > > and use Tx instead.
>
> > > In my current effort to translate eStore, XML(T()) for links works
> > > well and I'm happily using it.
>
> > > I still need to work on making the above lambda function work.
> > > Do I just add the line into the model store.py? My first try was not
> > > successful.
>
> > > --
> > > Teru
>
> > > > > This is a good learning experience for me. Lots of thanks, Massimo.
>
> > > > > By the way, XML(T()) seems to work when I tested with an example.
>
> > > > > Cheers,
> > > > > Teru
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---