yk, But if only one person change the language ( to ms_MY).
Then the other users of the website will also see the page as ms_MY language not the default language en_US. I test in my computer it will affect the other browsers. So... Cheers, Neil On Nov 10, 3:16 pm, YING-KWANG TU <ying.kwang...@gmail.com> wrote: > Neil, > > In my Boot.scala: > > def localeCalculator(request : Box[HTTPRequest]): Locale = > request.flatMap( > _.param("locale") match { > case Nil => Full(Locale.getDefault()) > case myLocale :: _ => { > def iLocale = new Locale(myLocale.substring(0, 2), > myLocale.substring(3, 5)) > Locale.setDefault(iLocale) *// this is where I set the default > locale to the new one* > Full(iLocale) > } > } > ).openOr(Locale.getDefault()) > LiftRules.localeCalculator = localeCalculator _ > > On Tue, Nov 10, 2009 at 3:10 PM, Neil.Lv <anim...@gmail.com> wrote: > > > yk, > > > About the setLocale method in the demo ( http://219.94.110.243 ) > > > 1:) First, I open the Firefox and type this link, i see the menu > > label is English. > > > 2:) Second, I open the IE or other browser to view this page, and > > click the "ms_MY" link to change the language, > > it works fine. > > > 3:) Then I refresh the index page in the Firefox (First step), the > > menu label is not English now, it's ms_MY. > > > 4:) Is there the set locale is global for whole website or only in > > my computer ? > > > Cheers, > > Neil > > > #### > > .... > > def iLocale = new Locale(myLocale) > > Locale.setDefault(iLocale) > > Full(iLocale) > > ... > > #### > > > On Nov 10, 1:58 pm, "Neil.Lv" <anim...@gmail.com> wrote: > > > Maybe it's a bug with <lift:loc locid=""/> .... > > > > It's so confused. > > > > Cheers, > > > Neil > > > > On Nov 10, 12:11 pm, YING-KWANG TU <ying.kwang...@gmail.com> wrote: > > > > > By adding a println line in my localeCalculator churned the following > > > > output: > > > > > en_US > > > > en_us > > > > en_us > > > > en_us > > > > en_us > > > > INFO - Service request (GET) / took 53 Milliseconds > > > > en_us > > > > ms_my > > > > ms_my > > > > ms_my > > > > ms_my > > > > INFO - Service request (GET) / took 37 Milliseconds > > > > ms_my > > > > th_th > > > > th_th > > > > th_th > > > > th_th > > > > INFO - Service request (GET) / took 37 Milliseconds > > > > > It almost seems like it is java.util.Locale... Mysteriously, adding > > symlinks > > > > helps. For e.g. > > > > > lift-core_en_us.properties -> lift-core_en_US.properties > > > > > On Tue, Nov 10, 2009 at 9:58 AM, YING-KWANG TU < > > ying.kwang...@gmail.com>wrote: > > > > > > Tim, > > > > > > You can browse tohttp://219.94.110.243forthetest site running on > > > > > Ubuntu Server 9.10. > > > > > There is a down-loadable test project which you can test out. > > > > > > Before this discussion thread on UTF-8 or ISO8859-1, > > > > > > 1. localization is running great on > > windows+maven2.2.1+liftweb1.1-M7 > > > > > 2. <lift:loc locid=""/> yet to work for both platform > > > > > 3. on linux, even S.??("") not working at all. > > > > > > Cheers, > > > > > yk > > > > > > On Sat, Nov 7, 2009 at 8:29 PM, Timothy Perrett > > <timo...@getintheloop.eu>wrote: > > > > > >> You should always be working with UTF-8 files for properties / > > > > >> localisation - I think the encoding reported by jetty is something > > > > >> different (that it reads from the system)... ensure your props files > > > > >> are UTF-8 and go from there. > > > > > >> Cheers, Tim > > > > > >> On Nov 7, 12:48 am, yk <ying.kwang...@gmail.com> wrote: > > > > >> > Hi Tim, > > > > > >> > I've developed n tested localization on windows and it worked > > > > >> > perfectly. however, localization of the same project placed on > > ubuntu > > > > >> > server 9.10 did not. > > > > > >> > WinXP > > > > >> > ----------- > > > > >> > jdk1.6 > > > > >> > maven 2.2.1 > > > > >> > lifeweb 1.1-M7 > > > > >> > encoding=cp1252 (as reported by "mvn jetty:run") > > > > > >> > Ubuntu 9.10 server > > > > >> > --------------------------- > > > > >> > openjdk OR sun-jdk6 > > > > >> > maven 2.2.1 > > > > >> > liftweb 1.1-M7 > > > > >> > encoding=UTF-8 (as reported by "mvn jetty:run") > > > > > >> > I can't quite point my finger on why it worked on windows but not > > on > > > > >> > linux. Do i have to convert all files that need to be deployed to > > > > >> > UTF-8 encoding? > > > > > >> > Thank you in advance. > > > > > >> > Cheers, > > > > >> > yk > > > > > >> > On Oct 26, 9:12 pm, Timothy Perrett <timo...@getintheloop.eu> > > wrote: > > > > > >> > > The browser already knows the locale, you have it backward! Your > > > > >> > > localeCalculator is so that the browser can get lift to return > > the > > > > >> > > right content. > > > > > >> > > Take a look at: > > >http://scala-tools.org/mvnsites/liftweb-1.1-M6/lift-webkit/scaladocs/. > > > > >> .. > > > > > >> > > I would start with just getting lift to explicitly set locale > > based on > > > > > >> > > a query string or something... it will help you understand how > > the > > > > >> > > mechanism works. > > > > > >> > > Cheers, Tim > > > > > >> > > On 26 Oct 2009, at 12:34, Neil.Lv wrote: > > > > > >> > > > ... > > > > > >> > > > Where is the locale to be set that the browser can know the > > > > >> > > > locale ? > > > > > >> > > > Thanks very much! > > > > > >> > > > Cheers, > > > > >> > > > Neil > > > > > >> > > > On Oct 26, 7:50 pm, Timothy Perrett <timo...@getintheloop.eu> > > > > >> wrote: > > > > >> > > >> setLocale was a method created by me, specific to my > > application - > > > > >> it > > > > >> > > >> does not exist in Lift... hence why I removed it in my > > simplified > > > > >> > > >> example. > > > > > >> > > >> Cheers, Tim > > > > > >> > > >> On 26 Oct 2009, at 11:45, Neil.Lv wrote: > > > > > >> > > >>> I have a silly question , where is the setLocale method ? > > > > > >> > > >>> I don't know where the package located. > > > > > >> > > >>> src\main\scala\bootstrap\liftweb\Boot.scala:63: error: not > > found: > > > > >> > > >>> value setLocale > > > > >> > > >>> setLocale(selectedLocale) > > > > > >> > > >>> :) > > > > > >> > > >>> Cheers, > > > > >> > > >>> Neil > > > > > >> > > >>> On Oct 26, 5:50 pm, Timothy Perrett <timo...@getintheloop.eu > > > > > >> wrote: > > > > >> > > >>>> 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 > > ... > > read more ยป --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---