Hello Sven,

Thank you for the explanation, it's always nice to read crystal clear
explanation.
I did thought of including the language in the route, but then again,
thought about extremely long url.

But now I understand why you advice not to use the session.

Thanks a lot

Geoffroy

On Oct 5, 1:14 pm, Sven Fuchs <[EMAIL PROTECTED]> wrote:
> Geoffroy,
>
> sessions are not restful by the definition of rest :)
>
> Storing a locale in the session of a client means that state is stored  
> on the clientside. The simple test for this aspect of rest probably  
> is: if you can copy and paste the URL to an email, send it off to a  
> buddy and be sure that your buddy will see the same page as you're  
> looking at ... then that's ok. If he sees a different page, it's not.
>
> To me displaying a page in an entirely different language means that  
> it's a "different" page, so I agree with Karel that we definitely  
> should not advise peopel to use the session for this.
>
> Instead, use subdomains, parts of the path or even query params for  
> that. Even though it's more work or might look ugly, it does not break  
> the internet ;)
>
> As for the "more work" part, when it comes to locales as path  
> segments: that's a question of better support in Rails. Raul already  
> plugged his solution, so lemme add mine:
>
> <shameless-self-promotion>
>    http://github.com/svenfuchs/routing-filter
> </shameless-self-promotion>
>
> On 05.10.2008, at 12:58, Geoffroy Gomet wrote:
>
>
>
> > Hello Redd,
>
> > Could you please explain how using the session to store the preferred
> > language is going against 'RESTfullnes'.
> > Someone copying and pasting an url would just see the page in the
> > default language, not really a problem there, except choosing the
> > right language.
> > If you advise to pass the language in the url everytime, I think it
> > would be against the clean url Rails produces.
>
> > I think in the long time, you could find yourself with very cluttered
> > urls full of parameters, which would be a big step back.
>
> > Geoffroy Gomet
>
> > On Oct 4, 1:20 pm, "Redd Vinylene" <[EMAIL PROTECTED]> wrote:
> >> On Fri, Oct 3, 2008 at 2:51 PM, Karel Minarik  
> >> <[EMAIL PROTECTED]> wrote:
>
> >>> Hello Iain,
>
> >>> *please* don't advise people to use `session` for setting locale!  
> >>> That
> >>> is an unfortunate choice by the official i18n demo app and  
> >>> completely
> >>> breaks RESTfullnes of anything. (ie. completely breaks even such
> >>> simple thing like sending someone a URL and expecting that she'll  
> >>> see
> >>> the same thing.)
>
> >>> One should set locale from params, hostname, accepted-language  
> >>> header,
> >>> whatever, just *not* session.
>
> >> How? Like this?
>
> >> def set_locale
> >>  I18n.locale = params[:locale] if params[:locale]
> >> end
>
> >> --http://www.home.no/reddvinylene
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"rails-i18n" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rails-i18n?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to