You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by yosemite <km...@hotmail.com> on 2007/07/08 16:32:04 UTC
Re: T5 - Changing Locale
Your code worked for me, except I replaced ThreadLocale by PersistentLocale
@Inject
@Service("PersistentLocale")
private PersistentLocale persistentLocaleService;
then it works using e.g.
persistentLocaleService.set(new Locale("fr"));
Karel
petros wrote:
>
> tapestry version 5.0.4
>
> I have the following code in the html template of my LayoutCmpnt
> <aa t:id="greekLocaleLink" t:type="ActionLink">Greek</aa><br/>
> <aa t:id="englishLocaleLink" t:type="ActionLink">English</aa>
>
> and the following code in the LayoutCmpnt.java
> @Inject
> @Service("ThreadLocale")
> private ThreadLocale threadLocaleService;
>
> @Inject
> private Locale currentLocale;
>
> @OnEvent(value = "action", component = "greekLocaleLink")
> Object onActionFromGreekLocaleLink()
> {
> threadLocaleService.setLocale(new Locale("el"));
> return null;
> }
>
> @OnEvent(value = "action", component = "englishLocaleLink")
> Object onActionFromEnglishLocaleLink()
> {
> threadLocaleService.setLocale(new Locale("en"));
> return null;
> }
>
> When the Greek link is clicked the onActionFromGreekLocaleLink() method is
> called as expected, but just before the method is returned the
> currentLocale object is still set to the "en" Locale. Is this the right
> way to change the Locale programmatically ?
>
> Petros
>
>
> Howard Lewis Ship wrote:
>>
>> I think that comment is out of date.
>>
>> You should be able to inject the ThreadLocale service and change the
>> locale there. Tapestry will pick up on that and write out an updated
>> cookie, which will cause the subsequent render request to be in the
>> new locale.
>>
>> On 3/9/07, Bogdan Calmac <bc...@gmail.com> wrote:
>>> Thanks guys, I saw that, but there was no mention about the ability to
>>> change the locale at application level. So I can assume that for my
>>> use case I would inject a new service in my page and use it to change
>>> the locale programatically?
>>>
>>> Thanks,
>>>
>>> Bogdan Calmac.
>>>
>>> On 3/9/07, Hugo Palma <hu...@gmail.com> wrote:
>>> > Take a look at the bottom of this page
>>> >
>>> http://tapestry.apache.org/tapestry5/tapestry-core/guide/localization.html.
>>> >
>>> > /"Tapestry does not yet support changing the locale, but that will be
>>> > available shortly."/
>>> >
>>> > Bogdan Calmac wrote:
>>> > > Is it possible in Tapestry 5 to programatically change the locale
>>> for
>>> > > a sesison similar to IEngine.setLocale() from Tapestry 4?
>>> > >
>>> > > In my case I want to set the locale after the login into the
>>> > > application (locale is stored in the user profile) and not rely on
>>> the
>>> > > browser locale.
>>> > >
>>> > > Thank you,
>>> > >
>>> > > Bogdan Calmac.
>>> > >
>>> > >
>>> ---------------------------------------------------------------------
>>> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> > > For additional commands, e-mail: users-help@tapestry.apache.org
>>> > >
>>> > >
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>
>>
>> --
>> Howard M. Lewis Ship
>> TWD Consulting, Inc.
>> Independent J2EE / Open-Source Java Consultant
>> Creator and PMC Chair, Apache Tapestry
>> Creator, Apache HiveMind
>>
>> Professional Tapestry training, mentoring, support
>> and project work. http://howardlewisship.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/T5---Changing-Locale-tf3376399.html#a11489178
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org