About the localization with lift:loc !

View: New views
20 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 | Next >

About the localization with lift:loc !

by Neil.Lv :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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-with-the-liftweb-framework

Cheers,
  Neil

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to liftweb@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by bearfeeder :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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 <anim510@...> 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-with-the-liftweb-framework

Cheers,
 Neil





--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Neil.Lv :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Yeah, it's saved as U8-UNIX encoding by the Ultraedit.

My IE's default language is zh_CN, but i get the same garbled in the
browser.

Like this in the browser.
###
  555å Ž
###

Cheers,
  Neil

On Oct 25, 7:19 am, David Pollak <feeder.of.the.be...@...>
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...@...> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Neil.Lv :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


   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...@...>
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...@...> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Jeppe Nejsum Madsen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


David Pollak <feeder.of.the.bears@...> writes:

> Please make sure your lift-core_zh_CN.properties was saved as UTF-8

Unless, lift does it's own property loading, property files need to be
in ISO-8859:

"When saving properties to a stream or loading them from a stream, the
ISO 8859-1 character encoding is used. For characters that cannot be
directly represented in this encoding, Unicode escapes  are used;
however, only a single 'u' character is allowed in an escape
sequence. The native2ascii tool can be used to convert property files to
and from other character encodings."

http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html

/Jeppe


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to liftweb@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Timothy Perrett :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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...@...> 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...@...>
> 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...@...> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Neil.Lv :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



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...@...> 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...@...> 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...@...>
> > 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...@...> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Timothy Perrett :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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" <anim510@...> 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...@...> 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...@...> 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...@...>
>>> 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...@...>  
>>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Neil.Lv :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



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...@...> 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...@...> 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...@...> 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...@...> 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...@...>
> >>> 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...@...>
> >>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Timothy Perrett :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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...@...> 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...@...> 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...@...> 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...@...> 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...@...> 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...@...>
> > >>> 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...@...>
> > >>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Neil.Lv :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


 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...@...> 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...@...> 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...@...> 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...@...> 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...@...> 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...@...> 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...@...>
> > > >>> 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...@...>
> > > >>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Neil.Lv :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



  <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...@...> 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...@...> 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...@...> 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...@...> 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...@...> 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...@...> 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...@...> 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...@...>
> > > > >>> 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...@...>
> > > > >>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Timothy Perrett :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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...@...> 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...@...> 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...@...> 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...@...>  
>>>> 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...@...> 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...@...>  
>>>>>> 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...@...> 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...@...>
>>>>>>>> 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...@...>
>>>>>>>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Neil.Lv :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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...@...> 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...@...> 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...@...> 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...@...> 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...@...>  
> >>>> 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...@...> 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...@...>  
> >>>>>> 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...@...> 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...@...>
> >>>>>>>> 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...@...>
> >>>>>>>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Timothy Perrett :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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...@...> 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...@...> 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...@...>  
>>>> 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...@...> 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...@...>
>>>>>> 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...@...> 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...@...>
>>>>>>>> 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...@...> 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...@...>
>>>>>>>>>> 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...@...>
>>>>>>>>>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Neil.Lv :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



  ...

  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...@...> 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...@...> 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...@...> 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...@...>  
> >>>> 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...@...> 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...@...>
> >>>>>> 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...@...> 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...@...>
> >>>>>>>> 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...@...> 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...@...>
> >>>>>>>>>> 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...@...>
> >>>>>>>>>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Timothy Perrett :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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/net/liftweb/http/provider/HTTPRequest.html

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...@...> 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...@...> 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...@...> 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...@...>
>>>>>> 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...@...> 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...@...>
>>>>>>>> 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...@...> 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...@...>
>>>>>>>>>> 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...@...> 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...@...>
>>>>>>>>>>>> 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...@...>
>>>>>>>>>>>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by Neil.Lv :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


  I feel the information of this page is less for me,

  but Thanks all the same !   :)

Cheers,
  Neil

On Oct 26, 9:12 pm, Timothy Perrett <timo...@...> 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...@...> 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...@...> 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...@...> 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...@...>
> >>>>>> 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...@...> 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...@...>
> >>>>>>>> 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...@...> 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...@...>
> >>>>>>>>>> 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...@...> 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...@...>
> >>>>>>>>>>>> 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...@...>
> >>>>>>>>>>>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by yk-6 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Neil,

1. I've copied life-core_en_US.properties from lift-webkit.jar to src/
main/resources/i18n like u did n renamed to life-
core_ms_MY.properties.
2. I've changed the login=Login (BM) for in file life-
core_ms_MY.properties for testing
3. I am able to test localization on the fly successfully (for e.g.
http://localhost:8080/?locale=ms_MY)

here is the code that is working for me:

    def localeCalculator(request : Box[HTTPRequest]): Locale =
      request.flatMap(
        _.param("locale") match {
          case Nil => Full(Locale.getDefault())
          case myLocale :: _ => {
            // println(myLocale)
            Full(new Locale(myLocale))
          }
        }
      ).openOr(Locale.getDefault())

    LiftRules.localeCalculator = localeCalculator _

Not the best of thing but enough to get localization going at this
point.

On Oct 26, 10:34 pm, "Neil.Lv" <anim...@...> wrote:

>   I feel the information of this page is less for me,
>
>   but Thanks all the same !   :)
>
> Cheers,
>   Neil
>
> On Oct 26, 9:12 pm, Timothy Perrett <timo...@...> 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...@...> wrote:
> > >>setLocalewas 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 thesetLocalemethod ?
>
> > >>> I don't know where the package located.
>
> > >>> src\main\scala\bootstrap\liftweb\Boot.scala:63: error: not found:
> > >>> valuesetLocale
> > >>>  setLocale(selectedLocale)
>
> > >>> :)
>
> > >>> Cheers,
> > >>>  Neil
>
> > >>> On Oct 26, 5:50 pm, Timothy Perrett <timo...@...> 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...@...> 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...@...>
> > >>>>>> 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...@...> 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...@...>
> > >>>>>>>> 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...@...> 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...@...>
> > >>>>>>>>>> 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...@...> 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...@...>
> > >>>>>>>>>>>> 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...@...>
> > >>>>>>>>>>>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: About the localization with lift:loc !

by yk-6 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Neil,

1. I've tried creating life-core_th_TH.utf-8 by copying from life-core_en_US.properties file.
2. Open the th_TH file in notepad and overwritten as "UTF-8"
3. I've copied some thai characters from the internet and replaced login=ที่อยู่ปัจจุบัน and saved.
3. native2ascii comes with java, so I open cmd, change directory to src/main/resources/i18n
4. at > prompt, native2ascii -encoding UTF-8 life-core_th_TH.utf-8 life-core_th_TH.properties

Voilà!

On Thu, Nov 5, 2009 at 7:56 AM, yk <ying.kwang.tu@...> wrote:

Neil,

1. I've copied life-core_en_US.properties from lift-webkit.jar to src/
main/resources/i18n like u did n renamed to life-
core_ms_MY.properties.
2. I've changed the login=Login (BM) for in file life-
core_ms_MY.properties for testing
3. I am able to test localization on the fly successfully (for e.g.
http://localhost:8080/?locale=ms_MY)

here is the code that is working for me:

   def localeCalculator(request : Box[HTTPRequest]): Locale =
     request.flatMap(
       _.param("locale") match {
         case Nil => Full(Locale.getDefault())
         case myLocale :: _ => {
           // println(myLocale)
           Full(new Locale(myLocale))
         }
       }
     ).openOr(Locale.getDefault())

   LiftRules.localeCalculator = localeCalculator _

Not the best of thing but enough to get localization going at this
point.

On Oct 26, 10:34 pm, "Neil.Lv" <anim...@...> wrote:
>   I feel the information of this page is less for me,
>
>   but Thanks all the same !   :)
>
> Cheers,
>   Neil
>
> On Oct 26, 9:12 pm, Timothy Perrett <timo...@...> 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...@...> wrote:
> > >>setLocalewas 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 thesetLocalemethod ?
>
> > >>> I don't know where the package located.
>
> > >>> src\main\scala\bootstrap\liftweb\Boot.scala:63: error: not found:
> > >>> valuesetLocale
> > >>>  setLocale(selectedLocale)
>
> > >>> :)
>
> > >>> Cheers,
> > >>>  Neil
>
> > >>> On Oct 26, 5:50 pm, Timothy Perrett <timo...@...> 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...@...> 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...@...>
> > >>>>>> 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...@...> 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...@...>
> > >>>>>>>> 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...@...> 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...@...>
> > >>>>>>>>>> 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...@...> 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...@...>
> > >>>>>>>>>>>> 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...@...>
> > >>>>>>>>>>>>> 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@...
To unsubscribe from this group, send email to liftweb+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

< Prev | 1 - 2 | Next >