On Wed, Mar 30, 2011 at 08:18:45AM -0700, John Firebaugh wrote:
> On Wed, Mar 30, 2011 at 5:47 AM, Rodrigo Rosenfeld Rosas <[email protected]
> > wrote:
> 
> >  This issue started here:
> >
> >
> > https://rails.lighthouseapp.com/projects/8994/tickets/3768-patch-add-full_message-option-to-validations#ticket-3768-69
> >
> > Then José Valim thought it was a bug and asked me to create another issue:
> >
> > https://rails.lighthouseapp.com/projects/8994/tickets/5572
> >
> > Then, this issue was created:
> >
> > https://rails.lighthouseapp.com/projects/8994/tickets/6448
> >
> > Then Valim reverted 5572.
> >
> > Now I know that my i18n locale files should be written like this:
> >
> > pt-BR:
> >  activerecord:
> >    errors:
> >      models:
> >        my_module/order:
> >          attributes:
> >             amount:
> >                not_a_number: deve ser um número
> >
> > I think there will be no more confusing regarding this behavior now we all
> > know what to expect. Maybe there is some documentation missing, regarding
> > modules and i18n keys.
> >
> 
> There are two problems here.
> 
> The first problem is that the public API changed between 3.0.5 and
> 3.0.6.rc1: the i18n_key method was removed. This is a breaking change for
> applications (mine included) that used this method themselves. To fix this,
> the method should be restored, with either the 3.0.5 definition or a new
> definition (depending on the solution for the second, more difficult
> problem).
> 
> The second problem is that we now have two competing conventions for where
> to place translations for attributes of nested models. 3.0.0-3.0.1 used one
> convention ('module/model'), 3.0.2-3.0.5 used another ('module.model'), and
> now in 3.0.6 is reverting to the first convention. The change from 3.0.1 to
> 3.0.2 broke all translations which followed the original convention, and for
> users on 3.0.2-3.0.5, the change from 3.0.5 to 3.0.6 will break them again.
> In order to avoid this breaking change, I suggest that we keep
> 'module/model' as the documented preferred convention, but for
> compatibility, try 'module.model' if no translation is found under
> 'module/model'.

I agree we should support both for now, and deprecate one.  I'll come
up with a test and fix, and we'll release a new RC.

Thanks for reporting this!

-- 
Aaron Patterson
http://tenderlovemaking.com/

Attachment: pgphhB34xGySH.pgp
Description: PGP signature

Reply via email to