Bruno Siqueira

Yes! Nós compilamos bananas!

Label I18n

Publicado por Bruno Siqueira em 19 maio, 2009

Deve fazer uns quatro meses que migrei os meus sistemas para o Rails 2.2.2. Antes eu utlilizava o 2.1.1. E confesso que sentia muita falta de um sistema de internacionalização. Todos os meus models e seus atributos são nomeados em inglês, o que deixava as mensagens de erro horríveis. Até que finalmente surgiu a internacionalização pra salvar o dia. As mensagens de erro ficaram muito melhores. Mas percebi que nos meus formulários gerados pelo scaffold generator continuavam com os labels em inglês. Quando fui olhar o código, percebi que o label não consultava a internacionalização, só “humaniza” a palavra.
Criei então uma classe bem simples no lib chamada label_i18n.rb com o seguinte código:

module ActionView
module Helpers
module FormHelper
alias_method :o ld_label, :label
def label(object_name, method, text = nil, options = {})
text ||= I18n.t("activerecord.attributes.#{object_name}.#{method}")
old_label object_name, method, text, options
end
end
end
end

O que eu faço é extender o método label, puxando o termo correto da internacionalização, caso não tenho um texto já definido.
Espero que ajude!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

 
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.