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
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
