i changed the function to
def validates_email_format_of(*attr_names)
configuration = { :message =>
I18n.t(:"validations.no_valid_email"),
:on => :save,
:with => RegexCollection::EMAIL_REGEX }
configuration.update(attr_names.pop) if attr_names.last.is_a?
(Hash)
validates_each(attr_names, configuration) do |record,
attr_name, value|
record.errors.add(attr_name, configuration[:message]) unless
value.to_s =~ configuration[:with]
end
end
but it isnt translated.
if i insert a debug message:
p I18n.locale
when i start the server, it displays: :"en-US"
now i change my locale to "de", all my translations are now displayed
in german.
now i submit the form,
again the debugmessage displayes :"en-US"
so the plugin doesn't recognise the change of locale.
thanx
florian
On Sep 30, 12:08 pm, iain hecker <[EMAIL PROTECTED]> wrote:
> Then the plugin needs to be adjusted. I've never used it, but it
> should be easy.
>
> All it really needs to do is call errors.add(attr, :message_key,
> options).
>
> So just remove the hardcoded english messages and make them into
> symbols. errors.add takes care of the rest!
>
> --
> Iain Heckerhttp://iain.nl/
>
> On Sep 30, 11:45 am, fwalter <[EMAIL PROTECTED]> wrote:
>
> > thanks
>
> > but I am using the model_validators plugin:
>
> > there are some validations: like
>
> > validates_email_format_of :email
>
> > the default message is hardcoded englisch, so i would like to make it
> > I18n conform.
>
> > so I first tried a quick and dirty stuff and changed the default
> > message inside the model_validators plugin function
>
> > but this plugin is initialized at server startup. with the base_locale
> > en-US.
>
> > and now at runtime, i choose a different locale, but get the
> > translations in base_locale en-US
>
> > so i tried to override the default message with my own error_message.
> > I18n.t(:"validations.no_valid_email")
>
> > but if i only write
>
> > validates_email_format_of :email, :message =>
> > I18n.t(:"validations.no_valid_email")
> > <<<<<<<<<<<<<
> > i only get the en-US translation. not the translation depending on the
> > current_locale.
>
> > thats why i did the ugly stuff:
>
> > validates_email_format_of :email, :message =>
> > I18n.t(:"validations.no_valid_email", :locale => "en-US") , :if =>
> > Proc.new { |c| I18n.locale.to_s == "en" }
> > validates_email_format_of :email, :message =>
> > I18n.t(:"validations.no_valid_email", :locale => "de-DE") , :if =>
> > Proc.new { |c| I18n.locale.to_s == "de" }
> > <<<<<<<<<<<<
>
> > thanks,
> > florian
>
> > On Sep 30, 11:32 am, iain hecker <[EMAIL PROTECTED]> wrote:
>
> > > There is a nicer way! Translating ActiveRecord validation messages is
> > > built into Rails, so you don't have to make a I18n call at all.
>
> > > Have a look at my post in how to do
> > > this:http://iain.nl/2008/09/translating-activerecord/
> > > Chapter 5 and onwards are about validations.
>
> > > Good luck,
>
> > > Iain
>
> > > On Sep 30, 11:21 am, fwalter <[EMAIL PROTECTED]> wrote:
>
> > > > hi
>
> > > > I am using custom error messages. but I only get the translation of
> > > > the base_locale (en)
>
> > > > validates_presence_of :email, :message =>
> > > > I18n.t(:"validations.no_valid_email")
>
> > > > The way to get other translations looks like bullshit:
> > > > I tried to solve it that way:
>
> > > > validates_presence_of :email, :message =>
> > > > I18n.t(:"validations.no_valid_email", :locale => "en-US") , :if =>
> > > > Proc.new { |c| I18n.locale.to_s == "en" }
> > > > validates_presence_of :email, :message =>
> > > > I18n.t(:"validations.no_valid_email", :locale => "de-DE") , :if =>
> > > > Proc.new { |c| I18n.locale.to_s == "de" }
>
> > > > is there a nicer way to get the translations in correct language?
>
> > > > thanks for help
>
> > > > florian
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---