Re: Localization problem, hello world too [solved]
Re: Localization problem, hello world too [solved]
- Subject: Re: Localization problem, hello world too [solved]
- From: Johann Werner <email@hidden>
- Date: Thu, 24 Dec 2009 15:20:28 +0100
Hi list,
I have the same problem as described in this thread. I have an app that uses only direct actions (no sessions) but stores the current language in a cookie. By default I check for that language setting and set the current ERXLocalizer accordingly. But when calling pageWithName I get every time the German component (there is a German and an English component) even if I set the localizer to English.
The setting er.extensions.ERXApplication.fixCachingEnabled=false as mentioned by Ramsey didn't show any effect and digging inside the WOContext source I found the method _languages() that should return the language(s) to be used:
If there is no session that method returns a _languagesAction array if non-null but this var and its setter are private so I don't see how to change its value. If it is null, which is its default value, then the browser languages are returned. I think there should be a check, if the localization is enabled in the app and return the language of the current localizer instead, shouldn't it?
Any thoughts? I altered my ERXWOContext for now and could put a patch on jira.
Happy Christmas,
jw
Am 02.12.2008 um 23:55 schrieb Ramsey Lee Gurley:
>
> On Dec 2, 2008, at 2:53 AM, Anjo Krank wrote:
>
>>
>> Am 02.12.2008 um 08:04 schrieb Anjo Krank:
>>
>>> If it doesn't, rewrite the method so it re-orders the nsarray so that it still has all items from _expectedLanguages, but the ones from nsarray come first and in order and post a patch.
>>
>> I checked in an (untested) interim patch. See if the problem persists.
>>
>> Cheers, Anjo
>
> Nice patch :-) Oh, and for the record, what I was saying earlier about needing to return something from session languages() is complete garbage... I see you've already taken care of that in ERXSession's setLanguage(). The problem here was my test app was returning null from the updateLanguage() action instead of a page. [Are you listening to this Mike? :-) ] I think this must be different from Mike and Chuck's debate though, because even returning context().page() causes the contents of the current page object to be re-rendered instead of refreshing the localized component. I actually needed to do
>
> public WOActionResults updateLang() {
> return WOApplication.application().pageWithName(context().page().name(), context());
> }
>
> to get the right localized page component when changing languages. Perhaps there's another way to invalidate the page and cause the whole thing to refresh, but I'm satisfied with that for now...
>
> Ramsey
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden