After a big of digging, it turns out that both Globalize2 and
Globalize3 use I18n.locale as a default locale but provide a way to
override that setting.

When using Globalize2 you can do:
ActiveRecord::Base.locale = :fr

When using Globalize3 you can do:
Thread.current[:globalize_locale] = :fr

and then you don't have to keep toggling I18n.locale back and forth ;)


On Aug 5, 2:08 pm, hydrozen <[email protected]> wrote:
> Yeah I think I'll look into the rails-i18n code and Globalize3 code
> over the weekend. It seems like Globalize3 also stores a setting in
> the Thread called :globalize_locale. I wonder if that means I could
> have a different setting for the UI and for the Content. I was mostly
> opening up a discussion to see if others had the same kinda problems
> to solve.
>
> Thanks for the feedback.
>
> On Aug 5, 10:38 am, Martin Svalin <[email protected]> wrote:
>
>
>
>
>
>
>
> > Well, why not hack up I18n a bit?
>
> > Let I18n.locale be the content locale, but hack in a new I18n.ui_locale
> > method, and a I18n.ui_translate method that wraps I18n.translate inside a
> > I18n.with_locale(I18n.ui_locale) {...}
>
> > Then you can mix ui and content freely by simply calling different
> > translation methods for them.
>
> > Or something... never tried it. Personally I'd just use I18n.with_locale
> > here and there, but we don't mix locales as much.
>
> > - Martin
>
> > PS. I had fun looking up how I18n.locale is stored (considering I18n is a
> > module).
>
> > On Fri, Aug 5, 2011 at 16:08, hydrozen <[email protected]> wrote:
> > > Yes I thought of this and Globalize3 already has a utility for this
> > > called called with_locale to which you can pass a locale and a block.
> > > But even with this it seems like it ends up being an hassle.
> > > So basically, every time I want to display data from a model, I'll
> > > need to wrap the call into that function to make sure I display using
> > > the content locale and not the ui locale. If I display forms, I'll
> > > also need to wrap each field into that function too.. making sure I
> > > don't wrap any calls to I18n.translate.
>
> > > On Aug 4, 6:41 pm, Henrik Nyh <[email protected]> wrote:
> > > > On Fri, Aug 5, 2011 at 00:40, Henrik Nyh <[email protected]> wrote:
> > > > >  def self.in_locale(locale)
> > > > >     ...
> > > > >  end
>
> > > > Make that
>
> > > > module I18n
> > > >   def self.in_locale(locale)
> > > >      ...
> > > >   end
> > > > end
>
> > > --
> > > 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.

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