detect selected language

34 views
Skip to first unread message

Yebach

unread,
Mar 14, 2017, 7:48:03 AM3/14/17
to web2py-users
Hello

What would be the easiest way to detect which language has the user chosen in view?

Thank you

黄祥

unread,
Mar 14, 2017, 8:39:09 AM3/14/17
to web2py-users
perhaps you can use request.cookies
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')

views/language.html
{{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}}

best regards,
stifan

Yebach

unread,
Mar 14, 2017, 8:45:30 AM3/14/17
to web2py-users
Based on the selected language i send a different file to user when he/she registers

i user this

if any("adminLanguage=sl" in s for s in request.env.HTTP_COOKIE.split(";")):
formFile = os.path.join(request.folder, 'private', 'formular_WoShi_podatki.doc')
else:
formFile = os.path.join(request.folder, 'private', 'form_WoShi_data.doc')



I know it is not the most elegant way so if anyone has a better suggestion.....

But it works :)

Marlysson Silva

unread,
Mar 15, 2017, 9:02:19 AM3/15/17
to web2py-users
The diference between these files are the language withing of that ? ..
Reply all
Reply to author
Forward
0 new messages