On Dec 24, 2009, at 9:20 AM, Johann Werner wrote:

> 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.

German is your default?  Did you try

http://wiki.objectstyle.org/confluence/display/WO/Web+Applications-Development-Localization+and+Internationalization

Second paragraph from the bottom (under "Direct Actions").  Instead of just 
looking at the browserLanguages(), you could check for the cookie value first.

Ramsey

> 
> 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
> 
> 
> _______________________________________________
> 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/rgurley%40mac.com
> 
> This email sent to [email protected]

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 protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to