rubyonrails

Internacionalização em labels

Desenvolvendo uma aplicação onde apliquei os recurso de internacionalização do Rails, percebi que o framework não traduz os valores dos labels para a tradução do atributo.

Para corrigir isso, existem duas formas: um plugin chamado i18n_label ou uma gambiarra um recurso técnico avançado adaptado a condições tecnológicas precárias em um determinado momento:

module ActionView
  module Helpers
    class InstanceTag
      def to_label_tag_with_i18n(text = nil, options = {})
        text ||= object.class.human_attribute_name(method_name) if object.class.respond_to?(:human_attribute_name)

        to_label_tag_without_i18n(text, options)
      end

      alias_method_chain :to_label_tag, :i18n
    end
  end
end

Cole o código acima em um arquivo da pasta lib, por exemplo e o inclua com require no environment.rb.

Avatar photo If you like my content, follow me on Twitter and GitHub TwitterTweet

Comments

comments powered by Disqus