Yes, your template code is right - your just seeing the default value because you have not told lift what resources to use when it gets the locale header from the browser.
tryo() is like try/catch however, it will catch exceptions and returns Box[T] I would really suggest starting with something a lot simpler than the one i detailed that uses cookies and all sorts. Perhaps something like: def localeCalculator(request : Box[HTTPRequest]): Locale = request.flatMap(r => { tryo(r.locale) match { // your match here } }).openOr(java.util.Locale.getDefault()) Hope that helps Cheers, Tim On 26 Oct 2009, at 09:21, Neil.Lv wrote: > > > <lift:loc locid="login">Log in 222</lift:loc> > That means this code is correctly, the problem is that the browser > doesn't know the locale? > > So we need to calculate the locale in the Boot.scala file ? > > Cheers, > Neil > > > > On Oct 26, 5:09 pm, "Neil.Lv" <anim...@gmail.com> wrote: >> tryo(r.getParameter("locale")) match { >> case Full(null) => workOutLocale >> case Empty => workOutLocale >> case Failure(_,_,_) => workOutLocale >> case Full(selectedLocale) => { >> setLocale(selectedLocale) >> selectedLocale >> } >> } >> >> In this code , what's the tryo ? is try ? >> tryo () match {} >> >> What's the changes about the HTTP container providers? >> >> Thanks very much! >> >> Cheers, >> Neil >> >> On Oct 26, 4:44 pm, Timothy Perrett <timo...@getintheloop.eu> wrote: >> >>> Hmm - you posted a link to my article at the begining of this >>> thread; >>> in that article I explain lifts locale calculator. Without this, >>> Lift >>> has no idea how you want to handle different locales. By default, >>> the >>> following is used: >> >>> var localeCalculator: Box[HTTPRequest] => Locale = >>> defaultLocaleCalculator _ >> >>> def defaultLocaleCalculator(request: Box[HTTPRequest]) = >>> request.flatMap(_.locale).openOr(Locale.getDefault()) >> >>> As you can see, that will get only the locale of your JVM, not the >>> browser. You will need to write the appropriate locale calculator; >>> the >>> one in my article is a little out of date as there was a breaking >>> change not so long ago to the HTTP container providers but it should >>> give you enough to go on. >> >>> Does that help? >> >>> Cheers, Tim >> >>> On Oct 26, 8:35 am, "Neil.Lv" <anim...@gmail.com> wrote: >> >>>> 1:) I create a file in the i18n folder >>>> /src/main/resources/i18n/lift-core_zh_CN.properties >>>> ..... >>>> login = \u767b\u5f55 >>>> logout = \u9000\u51fa >>>> log.in = \u767b\u5f55 >>>> log.out = \u9000\u51fa >>>> sign.up = \u6ce8\u518c >>>> logged.in = \u5df2\u7ecf\u767b\u5f55 >>>> ...... >>>> the others are default (copy from lift-core_en_US.properties) >> >>>> 2:) >>>> ### index.html >>>> <lift:surround with="default" at="content"> >>>> <lift:loc id="login">Log in 111</lift:loc> >>>> <lift:loc locid="login">Log in 222</lift:loc> >>>> </lift:surround> >> >>>> The lift:loc doesn't work that it should read the i18n string >>>> from the >>>> lift-core_zh_CN.properties and show the chinese chars, (login = >>>> \u767b >>>> \u5f55) >> >>>> but it always shows the default string (Log in 111, Log in 222). >> >>>> Has anything will be config ? >> >>>> Cheers, >>>> Neil >> >>>> On Oct 26, 4:17 pm, Timothy Perrett <timo...@getintheloop.eu> >>>> wrote: >> >>>>> Neil, >> >>>>> Can you zip and send me an example? It's quite likley your missing >>>>> something and without seeing the code it's difficult to say. >> >>>>> Cheers, Tim >> >>>>> Sent from my iPhone >> >>>>> On 26 Oct 2009, at 03:54, "Neil.Lv" <anim...@gmail.com> wrote: >> >>>>>> in the /index.html >>>>>> ### both of them are not work ! >>>>>> <lift:loc locid="log.in">Log in</lift:loc> >>>>>> <lift:loc id="log.in">Log in</lift:loc> >>>>>> ### >> >>>>>> Cheers, >>>>>> Neil >> >>>>>> On Oct 25, 6:27 pm, Timothy Perrett <timo...@getintheloop.eu> >>>>>> wrote: >>>>>>> Neil, >> >>>>>>> This is normal practice with java localisation - the best >>>>>>> thing is do >>>>>>> write all your strings then use native2ascii or similar >>>>>>> tooling to >>>>>>> convert it into the unicode representation. >> >>>>>>> Glad you found my article helpful. >> >>>>>>> Cheers, Tim >> >>>>>>> On Oct 25, 5:02 am, "Neil.Lv" <anim...@gmail.com> wrote: >> >>>>>>>> if i use this code and it works correctly ! >> >>>>>>>> Code: >>>>>>>> ### >>>>>>>> login = \u52a8\u4f5c >>>>>>>> ### >> >>>>>>>> But it's so difficult to write code ! >> >>>>>>>> I don't know what happens with it . >> >>>>>>>> Cheers, >>>>>>>> Neil >> >>>>>>>> On Oct 25, 7:19 am, David Pollak >>>>>>>> <feeder.of.the.be...@gmail.com> >>>>>>>> wrote: >> >>>>>>>>> Please make sure your lift-core_zh_CN.properties was saved >>>>>>>>> as UTF-8 >> >>>>>>>>> On Sat, Oct 24, 2009 at 11:31 AM, Neil.Lv <anim...@gmail.com> >>>>>>>>> wrote: >> >>>>>>>>>> Hi all, >> >>>>>>>>>> I create a props file in the resources folder /src/main/ >>>>>>>>>> resources/ >>>>>>>>>> i18n/lift-core_zh_CN.properties >> >>>>>>>>>> And i changed the "log.in" text value. >> >>>>>>>>>> Now i use this code in my index.html page, and it doesn't >>>>>>>>>> corretly. >>>>>>>>>> (garbled) >> >>>>>>>>>> ### it doesn't work >>>>>>>>>> <lift:loc locid="log.in">Log in</lift:loc> >>>>>>>>>> ### >> >>>>>>>>>> This information from: >> >>>>>>>>>> http://blog.getintheloop.eu/2009/7/26/how-to-extensive-localization-w >>>>>>>>>> ... >> >>>>>>>>>> Cheers, >>>>>>>>>> Neil >> >>>>>>>>> -- >>>>>>>>> Lift, the simply functional web frameworkhttp://liftweb.net >>>>>>>>> Beginning Scalahttp://www.apress.com/book/view/1430219890 >>>>>>>>> Follow me:http://twitter.com/dpp >>>>>>>>> Surf the harmonics > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---