One minor downside to T.force(T.http_accept_language) is that when using the web2py shell with models it gives an error:
Traceback (most recent call last): File "C:\www\web2py\gluon\restricted.py", line 217, in restricted exec ccode in environment File "applications\my_app\models\0.py", line 6, in <module> T.force(T.http_accept_language) File "C:\www\web2py\gluon\languages.py", line 661, in force self.accepted_language = language or self.current_languages[0] IndexError: list index out of range On Tuesday, February 25, 2014 9:09:55 PM UTC-5, User wrote: > Thanks this does work. Most of my site visitors will be English language > speakers, is there any important performance hit I should be aware of? Why > is en-us a special case? > > On Tuesday, February 25, 2014 12:46:41 AM UTC-5, Massimo Di Pierro wrote: >> >> For now do this: >> >> T.current_languages = [] >> T.force(T.http_accept_language) >> >> This should work. I will try figure out why T.set_current_languages() >> does not. >> >> On Monday, 24 February 2014 18:07:40 UTC-6, User wrote: >>> >>> This does not appear to work the string is not translated. Also the >>> following doesn't work either: >>> >>> T.set_current_languages() >>> T.force('en-us') >>> >>> However, as mentioned above changing this back to: >>> >>> T.current_languages = [] >>> T.force('en-us') >>> >>> >>> Does work >>> >>> >>> On Monday, February 24, 2014 6:45:18 PM UTC-5, Massimo Di Pierro wrote: >>> >>>> Ok. One more try: >>>> >>>> T.set_current_languages() >>>> >>>> >>>> On Monday, 24 February 2014 17:36:10 UTC-6, User wrote: >>>>> >>>>> I added T.current_languages = [] to the end of my model but this did >>>>> nothing. Then I tried: >>>>> >>>>> T.current_languages = [] >>>>> T.force('en-us') >>>>> >>>>> This caused the translated string in en-us.py to show up in the >>>>> rendered html (and also caused the filling of en-us.py with default >>>>> strings). However, I still don't seem to have a solution, because I >>>>> don't >>>>> want to force the language to be en-us. I want to use whatever the >>>>> user's >>>>> accept-language is. And in general this already works, except for en-us. >>>>> >>>>> Thoughts? >>>>> >>>>> >>>>> On Monday, February 24, 2014 8:17:24 AM UTC-5, Massimo Di Pierro wrote: >>>>> >>>>>> I get it now. You need: >>>>>> >>>>>> T.current_languages = [] >>>>>> >>>>>> Otherwise this is set to >>>>>> >>>>>> T.current_languages = ['en'] >>>>>> >>>>>> and it things the current language is english and therefore it does >>>>>> not need translation. >>>>>> >>>>>> >>>>>> On Monday, 24 February 2014 01:45:49 UTC-6, User wrote: >>>>>>> >>>>>>> In fact, if I put an entry in en-gb.py and set my browser >>>>>>> accept-language to en-gb it will correctly pick up this string, but for >>>>>>> some reason it's not picking up the string in en-us (unless I'm doing >>>>>>> something wrong). >>>>>>> >>>>>>> Also interesting to note, is when I view my site with en-gb or es as >>>>>>> the accept lang, web2py seems to automatically modify the en-gb.py and >>>>>>> es.py files with default entries for every default string, whereas it's >>>>>>> not >>>>>>> doing that for en-us.py >>>>>>> >>>>>>> Does this have to with en-us.py being a default or something? >>>>>>> >>>>>> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.