e.g. taken from web2py admin app
models/db.py
if 'language' in request.cookies and not (request.cookies['language'] is None):
T.force(request.cookies['language'].value)
else:
T.force('en')
{{extend 'layout.html'}}
{{if hasattr(T,'get_possible_languages_info'):}}
<select name="language" onchange="var date = new Date();cookieDate=date.setTime(date.getTime()+(100*24*60*60*1000));document.cookie='language='+this.options[this.selectedIndex].id+'; expires='+cookieDate+'; path=/';window.location.reload()">
{{for langinfo in sorted([(code,info[1]) for code,info in T.get_possible_languages_info().iteritems() if code != 'default']):}}
<option {{=T.accepted_language==langinfo[0] and 'selected' or ''}} {{='id='+langinfo[0]}} >{{=langinfo[1]}}</option>
{{pass}}
</select>
{{else:}}
{{pass}}