Depois de alguns projetos que incluíram i18n para o espanhol, encontrei um padrão que funciona para traduzir nomes de modelos com a generalização adequada para a gema do infletor i18n .
Claro que ainda está longe de ser perfeito, mas pode ajudar alguém
class ApplicationController < ActionController::Base
inflection_method :gender
def gender
model_name = controller_name.gsub("Controller","").downcase.singularize
@gender ||= (t("activerecord.models.#{model_name}") =~ /[ad]$/ ) ? :f : :m
end
end
seria usado assim:
t(:add_model, :model => t('activerecord.models.somemodel'))
i18n:
inflections:
gender:
f: "mujer"
m: "hombre"
...
add_model: 'Agregar @{m:un|f:una} %{model}'
Acho que será muito melhor encontrar uma maneira de especificar o gênero dos substantivos no arquivo .yaml para que os tradutores possam fazer isso.