CRUD Localization using I18n

Hi,
I am using the I18n support for localization in a rather large
application. My problem is that the same word is translated many times
in the locales files in a not very CRUD way. For example many models
has the attribute name that will be translated once for each model
etc, when using the recommended active record keys.

I am also using keys for controllers, actions and views (as views
controller action) that also results in many repetitions of the same
translation.

How to handle that problem?
A smart hierarchical systems of keys with a lookup function searching
in higher levels when not found in lower ?
What key systems are then used ? How do you then solve the problem
with the same attribute ?

Note that in some situation the translations are context dependent, so
the solution had to consider that possibility.

Any help would be appreciated.