Sorry for the personal reply, but I was no list member at the time
this was sent, and I can't find another way to respond.
I could finally isolate the strange issue regarding I18n in my application.
I noticed a very similar problem which I described on the rubyonrails-
talk list in http://groups.google.com/group/rubyonrails-talk/msg/0c99f2d29afcf3aa
In short:
I set config.i18n.default_locale=:de in config/application.rb
in development environment: I18n.default_locale=:de, I18n.locale=:de
and in production environment: I18n.default_locale=:de,
I18n.locale=:en
I use 3.0.0rc2, ruby 1.8.7 and 1.9.2.
it shouldn't
app/models/mymodel.rb
require 'something'
class Mymodel
include Something # comment this line and the issue is gone
end
lib/something.rb
module Something
def self.included(base)
puts I18n.locale
end
end
Change default locale to :'pt-BR' in config/application.rb
Open a console in test environment:
rails c test
> I18n.locale (yields :en)
> I18n.default_locale (yields :"pt-BR")
Commenting the "include Something" line, this strange behavior disappear
(both locale and default_locale returns :'pt-BR')
I don't have explicit requires in my models, but I use authlogic
(2.1.5), which does require files in the modules that are included in
model classes, and this behavior goes away if I uncomment the
acts_as_authentic call in my user model.
Is this behavior expected? Am I assuming something wrong? Is it a bug?
Any hints?
It would be great if these questions could be answered before a Rails
3 final release is out. There isn't necessarily a bug in the rails
source code, but I can hardly believe this behavior is expected or
even intended.
Thanks in advance,
Rodrigo.
Thanks as well
Rainer