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 to http://219.94.110.243 for the test 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
>> > > >>>>>>>> /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 javalocalisation- 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to