Entering multilanguage data in Zope

26 November 2006   0 comments  

Mind that age!

This blog post is 16 years old! Most likely, its content is outdated. Especially if it's technical.

Zope is really great with it's publisher transform things that automatically cast HTTP GET or HTTP POST variables as proper python variables on the fly. I needed a form that asks for a Title and Description in multiple languages. The result I wanted passed into the saving method was variables like this:

>>> titles
{'en': u'London', 'sv': u'Stockholm'}
>>> descriptions
{'en': u'Capital', 'sv': u'Huvudstad'}

How did I write that form? Easy, here's the code:

<b>Title</b><br />
Svenska: <input name="title.sv:record" /><br />
English: <input name="title.en:record" /><br />
Svenska: <input name="description.sv:record" /><br />
English: <input name="description.en:record" /><br />

And lastly, to get the unicoding right, you have to add the following so that the variable values are sent as iso-8859-1 encoded unicode strings:

<b>Title</b><br />
Svenska: <input name="title.sv:latin1:ustring:record" /><br />
English: <input name="title.en:latin1:ustring:record" /><br />
Svenska: <input name="description.sv:latin1:ustring:record" /><br />
English: <input name="description.en:latin1:ustring:record" /><br />

Zope takes care of the rest and you can just sit back and enjoy the productivity.


Your email will never ever be published.

Related posts